hibernate代码生成工具 转换工具 自动生成工具
来源:互联网 发布:百度网络存在安全隐患 编辑:程序博客网 时间:2024/05/29 07:17
是用来从DB中已存在的表,生成相应的mapping file. 可以下载一个老外的middlegen的例子。
http://sourceforge.net/project/showfiles.php?group_id=40712
调用Middlegen很简单,例子中的middlegen自动生成ant指令如下
- <middlegen
- appname="${name}"
- prefsdir="${src.dir}"
- gui="${gui}"
- databaseurl="${database.url}"
- initialContextFactory="${java.naming.factory.initial}"
- providerURL="${java.naming.provider.url}"
- datasourceJNDIName="${datasource.jndi.name}"
- driver="${database.driver}"
- username="${database.userid}"
- password="${database.password}"
- >
- <hibernate
- destination="${build.gen-src.dir}"
- package="${name}.hibernate"
- />
- </middlegen>
然后会有一个GUI,给我们专门设计各种表与表之间的关系(一对一,一对多以及单向双向关系)。需要说明的是,middlegen生成的代码没有直接写mapping file灵活性好,所以生成的mapping file有时还需要我们去修改。
2. XDoclet
它是用来从java文件自动生成hbm文件的,不过我们需要在java代码中写一些规定的tag,才能得到自动生成的hbm文件.
- <hibernatedoclet
- destdir="src"
- excludedtags="@version,@author,@todo"
- force="true"
- verbose="true">
- <fileset dir="src">
- <include name="**/*.java"/>
- <exclude name="**/Product.java"/>
- </fileset>
- <hibernate version="2.0"/>
- </hibernatedoclet>
3. hbm2java
它是用来从mapping 文件生成java代码的工具,调用很简单,在参数中需要给出所有的hbm文件,如下:
- <java classname="net.sf.hibernate.tool.hbm2java.CodeGenerator" fork="true">
- <classpath refid="classpath"/>
- <arg line="${build.gen-src.dir}/airline/hibernate/*.hbm.xml"/>
- </java>
4. Schema Export
如果写好了java文件和hbm文件,就可以用SchemaExport直接生成DDL文件,调用同样简单,只需在java代码中,加入如下:
- conf = new Configuration()
- .addClass(a.class)
- .addClass(b.class);
- SchemaExport dbExport = new SchemaExport(conf);
- dbExport.setOutputFile("myschema.sql");
- dbExport.create(true, true);
从这四种自动生成工具来看, mapping file, java file and DDL,只要知道任何一种文件,都可以得到另外两种文件,如:
1. 只有mapping file:
mapping file---hbm2java----java---SchemaExport----DDL
2.只有DDL
DDL---Middlegen---hbm----hbm2java----java
3.只有Java
java---XDoclet---hbm----SchemaExport----DDL
从这里,大家也可以体会到, Hibernate强大的灵活性。
- hibernate代码生成工具 转换工具 自动生成工具
- 代码自动生成工具
- hibernate 的自动生成工具
- Hibernate自动生成工具MiddleGen
- Hibernate之自动生成工具
- Ibatis代码自动生成工具
- Mybatis 自动生成代码工具
- Mybatis 自动生成代码工具
- mybatis代码自动生成工具
- Ibatis代码自动生成工具
- Mybatis 自动生成代码工具
- Ibatis代码自动生成工具
- Ibatis代码自动生成工具
- 【Mybatis】自动生成代码工具
- mybatis代码自动生成工具
- Hibernate Codegen(Hibernate自动生成工具)
- android findview 自动生成工具 xml布局文件自动转换类模板代码工具
- eclipse 配置hibernate自动生成工具
- 利用ppa安装ffmpeg, ubuntu14.04
- Android开发中高效的数据结构用SparseArray代替HashMap
- python 学习
- Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】
- hdu 5628 Clarke and math Dirichlet卷积
- hibernate代码生成工具 转换工具 自动生成工具
- kubectl yaml/json参数设置
- scala操作数据库语句
- wait()、notify()和notifyAll()是 Object类 中的方法
- c#初学-多线程中lock用法的经典实例
- 最小生成树Prim算法
- 剑指offer系列-T24_1二叉树后序排序递归实现
- BZOJ3252 攻略
- apk的增量升级及其中的一些问题