Hibernate逆向工程原理_java版本
之前在一篇""文章中,一位朋友提出了这样的问题: 源地址: 这几天闲着没事儿,就想了一下hibernate的逆向工程的实现原理。 这是我个人构思的想法: 我们在数据库中建立一个我们自己的表; 如: `id` () `name` () COLLATE utf8_bin `age` () `sex` () COLLATE utf8_bin ) ENGINEInnoDB AUTO_INCREMENT CHARSETutf8 COLLATEutf8_bin;
我们在数据库控制台用“desc person”可以查看person表的结构: 我们用代码实现这样的查询功能: 代码如下:
String driver = "com.mysql.jdbc.Driver" String dbName = "spring" String passwrod = "root" String userName = "root" String url = "jdbc:mysql://localhost:3308/" + String sql = "desc person"
Connection conn = PreparedStatement ps = ResultSet rs = System.out.println(" Field Type Null Key Default Extra" System.out.println("--------------------------------------------" System.out.println(" "+rs.getString(1) +" "+ rs.getString(2) +" "+ rs.getString(3) +" "+ rs.getString(4) +" "+ rs.getString(5) +" "+ rs.getString(6
(rs != }
(ps != }
(conn != }
}
}
可以发现,运行出来的效果和我们在控制台运行的效果是一样的。所以我们可以用代码实现获取表结构,这一步尤为关键!!! .我们可以用代码获取表的结构,那么我们就可以知道一个表的所有信息,如: 表里面的所有字段,字段的类型,长度,是否为空,是否为主键....很多信息,我们可以提取其中有用的信息,我们只要在freemarker 或velocity模板引擎中创建好我们的模板这样打工就可以告成... 5.使用freemaker或者velocity模板引擎制作模板的时候,我想在生成表对应的实体类和xml配置文件的时候需要注意的是表与表的关联关系.... 上面的观点都是Hongten个人的观点以及见解,如果有说的不好,或说错的地方,欢迎大家拍砖.... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |