Hello Lifters, Related: http://groups.google.com/group/liftweb/browse_thread/thread/20051762b58f0083/b3329f33e8f3dc73?lnk=gst&q=existing+database#b3329f33e8f3dc73
I would like to generate (at run-time) BaseMapper instances of a schema. I know I can generate the JPA beans from a schema (using Hibernate3 tools - thanks to Greg Meredith for pointing this out), but then I'd like to convert these to BaseMapper instances so I can use the .toForm: NodeSeq functionality. Or schema to BaseMapper directly? Schemifier in reverse, perhaps. Use case: I'm building an open source tool with which you can define external databases to manage. I wouldn't know the details of these databases at design/compile time, and thusly would like to be able to just point to a database, point to a table (related tables if foreign key exists), dynamically generate a form for the table/row, edit, save. I know this sounds really far-fetched, and fragile. I just want to see if it's viable :-) With javax.sql I can generate the form, hence the SQL and then call an insert/update on the target DB, but I'd prefer a Mapper solution. CODE-START Class.forName ("com.mysql.jdbc.Driver").newInstance() // could be any db type val sConnection = "jdbc:mysql://host:3306/dbname" // some DB known at run-time val conn: Connection = DriverManager.getConnection(sConnection, "db_user", "db_password") val sqlStatement: Statement = conn.createStatement() val rs: ResultSet = sqlStatement.executeQuery("select * from " + someRuntimeTable + " limit 1") val rsm: ResultSetMetaData = rs.getMetaData() // now we have a slew of methods at our disposal which tells us things about the table, for example: rsm.isAutoIncrement(1) // example for (i <- 1 to rsm.getColumnCount()) { rsm.getColumnLabel(i) // example rsm.getColumnTypeName(i) // example } CODE-END Thanks, Juan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---