hibernate 配置文件 生成工具
1.采用freeMarker模板来生成代码,真正实现了自定义代码模板; 2.理论上可以生成任何语言的任何所需要的模板; 3.更改了内部逆向工程的实现方式,提高效率和稳定性; 4.修正了主键ID读取不正确的问题; 5.修正了生成文件编码不正确的BUG;
1.采用freeMarker模板来生成代码,真正实现了自定义代码模板; 2.理论上可以生成任何语言的任何所需要的模板; 3.更改了内部逆向工程的实现方式,提高效率和稳定性; 4.修正了主键ID读取不正确的问题; 5.修正了生成文件编码不正确的BUG;
1.终于在这个版本中实现了模板化管理,采用freeMarker模板来生成代码, 真正实现了自定义代码模板; 2.理论上可以生成任何语言的任何所需要的模板; 3.更改了内部逆向工程的实现方式,提高效率和稳定性; 4.修正了主键ID读取不正确的问题; 5.预计下个版本增加从PowserDesigner的 PDM文件,和 CMD文件 直接导入,并生成代码的功能
好不容易才全部下完打包的,适合最新的 3.6.2 完美汉化,效果很好 同样适合 MyEclipse 9.x 汉化
功能介绍: 1.自动生成hibernate配置文件 和 javaBean,以及HTML表单文件; 2.支持读取数据库表和字段的中文注释信息; 3.可以选择数据库; 4.可以选择表,hibernate 主键策略; 5.可以设置生成的 javaBean 的 package 路径; 6.可选择生成的文件保存路径; 7.数据库服务器信息可保存,编辑,删除; 8.支持数据库 mysql5,oracle10g,mssql200,mssql2005; 9.数据库中字段如果用下划线分隔,自动采用驼峰式命名
改进如下: 1. 增加了多数据类型的支持; 2. 增加了toJson 方法,可以将对象转换为 json数据格式; 3. 去掉了部分无用代码; 4. 修正了toString 中多余逗号的问题; 5. 去掉了HBM文件中旧的缓存代码; 6. 修正了端口输入方式,直接在IP地址后面增加端口; 7. 完美支持数据库注解自动生成到配置文件和JAVABEAN 下个版本的计划: 1.增加数据库列表功能 2.增加主键策略
其实这个东西很简单,甚至没有用到工厂,也没有用接口,4个文件搞定。<br>一个XML工具类,一个系统工具类,一个结点对象,一个BUILDER,如此而已,我就不信这个小东西对于经常读取XML配置文件的人来说不能提供方便?<br>大家有心情试试看,提供源码和DEMO!<br>目前是1.0版本,本人将不定期更新!<br>参考了XPATH方式,可以直接用路径的方式读取文件结点内容,如下:<br>public static void main(String[] args){ <br> ConfigBuilder cb = new ConfigBuilder("config/db-config.xml"); <br> <br> /** <br> * 这个是 getValueByPath(path) 的注释 <br> * <br> * 自定义路径 <br> * 例子: <br> * ROOT.NODE.CNODE@att1 末结点路径下的属性值 返回 String <br> * <br> * ROOT.NODE.CNODE:$children 末结点的所有孩子列表 返回 List<ConfigNode> <br> * ROOT.NODE.CNODE:$value 末结点的TEXT值 返回 String <br> * ROOT.NODE.CNODE:$node 末结点的结点 返回 ConfigNode <br> * ROOT.NODE.CNODE:$properties 末结点的属性表(MAP) 返回 Map<String,String> <br> * <br> * 每个结点在均支持[]括号内的条件: <br> * ROOT.NODE[name=bb].CNODE[name=ccc]@att1 安条件获取属性值 返回 String <br> * <br> * @author tangkf <br> * @param path <br> * @return <br> */ <br> <br> try { <br> cb.initinalize(); <br> <br> System.out.println(cb.getRoot()); <br> <br> //--获取 ccc 结点自己 <br> ConfigNode obj1 = (ConfigNode)cb.getRoot().getValueByPath("servers.dbserver.ccc:$node"); <br> <br> //--获取ccc 结点的 text 值 <br> String obj2 = cb.getRoot().getValueByPath("servers.dbserver.ccc:$value").toString(); <br> <br> //--获取ccc 结点的 attributes 值 <br> Map obj3 = (Map)cb.getRoot().getValueByPath("servers.dbserver.ccc:$properties"); <br> <br> //--获取dbserver 结点的 孩子结点表 List<ConfigNode> <br> List obj4 = (List)cb.getRoot().getValueByPath("servers.dbserver:$children"); <br> <br> //--获取结点 property[name=isdefault] 中name 的值, <br> //--当存在多个 property 结点时 取 其属性中 name=isdefault 的结点,当然这个返回值如果存在哪么就是 isdefault <br> String obj5 = cb.getRoot().getValueByPath("servers.dbserver.property[name=isdefault]:name").toString(); <br> <br> System.out.println(obj1+"\r\n"+obj2+"\r\n"+obj3+"\r\n"+obj4+"\r\n"+obj5); <br> <br> } catch (Exception e) { <br> e.printStackTrace(); <br> } <br>}