ibatis自动生成DA0 XML VO
来源:互联网 发布:数据迁移原则 编辑:程序博客网 时间:2024/06/06 08:49
1. Ibator介绍
Ibator是iBATIS的代码发生器,其原名叫abator,后来更名为Ibator,同时代码结构也做了相应的一些修改,所以两者的配置也有所不同。Ibator可以生成一个数据库中的一个表(或多个表)的DAO层、DO层及符合iBATIS规范的配置,它减少了我们编写配置文件、创建DO及DAO的工作量,并且可以创建简单的CRUD(创建,检索,更新,删除),我们可以在此基础之上进行修改,而不必完全的重新去实现了,这非常大的节省了我们的工作量,特别是操作比较多的表的时候,这个优势体现的更加明显。
2. Ibator插件安装
Ibator插件有多种安装方式,并且Eclipse、MyEclipse都能支持。
本文档介绍的是Eclipse下的本地安装方式:
首先:下载插件:http://download.csdn.net/detail/rchm8519/8121031
然后按以下步骤操作:
在eclipse菜单中打开插件安装界面:Help -> InstallNew Software ...
接下来 继续点 Next 即可,最后重启Eclipse。
验证插件是否安装成功:
从Eclipse菜单栏依次点击:File—>New—>Other: 在搜索框中输入 “ib”,如出现下图表示安装成功。
3. Ibator配置介绍
<?xmlversion="1.0" encoding="UTF-8" ?>
<!DOCTYPE ibatorConfiguration PUBLIC"-//Apache SoftwareFoundation//DTDApache iBATISIbator Configuration 1.0//EN""http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" >
<ibatorConfiguration >
<ibatorContext id="context1" >
<jdbcConnection driverClass="???"connectionURL="???" userId="???" password="???"/>
<javaModelGenerator targetPackage="???"targetProject="???" />
<sqlMapGenerator targetPackage="???"targetProject="???" />
<daoGenerator targetPackage="???"targetProject="???" type="GENERIC-CI" />
<table schema="???" tableName="???" >
<columnOverride column="???" property="???" />
</table>
</ibatorContext>
</ibatorConfiguration>
根据自己的需求进行配置:
<?xmlversion="1.0" encoding="UTF-8" ?>
<!DOCTYPE ibatorConfiguration PUBLIC"-//Apache SoftwareFoundation//DTDApache iBATISIbator Configuration 1.0//EN""http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" >
<ibatorConfiguration >
<!-- 注意classPathEntry位置,改属性不在默认配置文件中,需要手动添加,用于指定数据库驱动路径-->
<classPathEntry location="e:/mysql-connector-java-5.1.30.jar" />
<ibatorContext id="context1" >
<!-- 分别为: 驱动名称,数据库URL,用户名,密码-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/test"userId="root" password="123" />
<!-- javaBean生成器 targetPackage:包名,targetProject:项目名-->
<javaModelGenerator targetPackage="com.domain"targetProject="iBatisDemo" />
<!-- 映射文件生成器 -->
<sqlMapGenerator targetPackage="com.config"targetProject="iBatisDemo" />
<!-- dao生成器,type 指定生成dao类的模板,可选择IBATIS、SPRING、GENERIC-CI、GENERIC-SI
implementationPackage dao实现类的包名 -->
<daoGenerator targetPackage="com.dao" targetProject="iBatisDemo" implementationPackage="com.dao.impl" type="SPRING" />
<!-- 表名属性映射 tableName为表名,可使用SQL通配符%和_, domainObjectName为对应类名,如不写则默认和表名相同 -->
<table schema="" tableName="usertbl" domainObjectName="UsertblDomain">
<!-- columnOverride 指定属性名称,不指定则以默认规则处理:字母先全变小写,然后去掉下划线,下划线后首字母大写 -->
<columnOverride column="id" property="uid" />
</table>
<table schema="" tableName="%" domainObjectName="" >
<!-- 是否使用列名做属性名,默认值为false, 处理规则:字母先全变小写,然后去掉下划线,下划线后首字母大写-->
<property name="useActualColumnNames" value="true"/>
<!-- 指定生成主键的语句 -->
<generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()+1"/>
<!-- 指定生成列名的 替换规则 -->
<columnRenamingRule searchString="flag" replaceString="FLAG" />
<!-- 指定生成的列名 -->
<columnOverride column="id" property="uid" />
<!-- 忽略掉无需生成的列 -->
<ignoreColumn column="sendFlag"/>
</table>
</ibatorContext>
</ibatorConfiguration>
4. Ibator代码生成及优化
配置完成后,在配置文件上右击,如图:选择GenerateiBATIS Artifacts
执行完成后就会发现,项目src下已经生成好了我们指定的目录及文件:
打开文件后你发现,Ibator在生成的时候,会为每个方法、每个配置都生成注释,有时显得很啰嗦且无用,看着影响心情。有没有办法不让它生成注释呢?有,但是我们只能修改源码Ibator的源码啦,在插件安装完成后,安装目录下的源文件:eclipse\plugins\org.apache.ibatis.ibator.core_1.2.1\ibator-src.zip,解压后拷贝到Eclipse下
优化一:清除注释
找到文件:org.apache.ibatis.abator.internal.DefaultCommentGenerator.java,把不需要生成注释的方法的内容都清空吧,这些都是void方法,不会有其他的应用。
优化二:清除DAO中多余方法
另外在生成的DAO及DAO实现中有不少的Example方法,在配置文件中也有,这些如果你也用不到的话也可以为了处理掉,把下面两个类找到:
org.apache.ibatis.ibator.generator.ibatis2.dao.DAOGenerator中的getCompilationUnits方法
org.apache.ibatis.ibator.generator.ibatis2.sqlmap.SqlMapGenerator中的getSqlMapElement方法
把其中的带Example的方法其调用的地方全部注释掉即可
优化三:去除ID前缀ibatorgenerated_
还有在生成的配置文件中的id还有前缀“ibatorgenerated_”,看着也觉得太长,此时找到文件:
org.apache.ibatis.ibator.config.MergeConstants,将NEW_XML_ELEMENT_PREFIX的值设为空"" 再生成就可以了。
也可以直接下载优化好的jar文件,替换即可。
- ibatis自动生成DA0 XML VO
- JAVA 自动生成iBATIS xml文件l
- IBatis 自动生成主键
- ibatis自动生成插件
- ibatis自动生成插件
- Ibatis怎么生成XML
- ibatis 自动生成的主键
- ibatis 自动生成的主键
- 利用ibatis 自动生成文件
- Ibatis自动生成工具-Abator
- Ibatis代码自动生成工具
- Ibatis代码自动生成工具
- Ibatis代码自动生成工具
- mybatis+ibatis 自动生成方法
- Ibatis代码自动生成工具
- SSH开源自动生成代码工具,可自动生成action、service、form、dao、model、vo、sqlmap.xml、.hbm.xml、test等
- SSH开源自动生成代码工具,可自动生成action、service、form、dao、model、vo、sqlmap.xml、.hbm.xml、test等
- IBatis简单实现(附主键自动生成)其SqlMap XML文件配置
- kubernetes Node的隔离与恢复
- Centos修改root用户密码
- java中Interger.parseInt(String str),Integer.valueOf(),Ingeger.getInteger()方法的区别
- SQL的四种连接-内连接、左连接、右连接、完全连接
- 自定义一个类加载器
- ibatis自动生成DA0 XML VO
- 10.20
- 对于SSM中的applicationContext.xml 文件中MapperScannerConfigurer的理解
- JAVA ThreadPoolExecutor线程池参数设置技巧
- ADB识别失败,驱动显示感叹号解决方案——记录一次驱动重装导致的不识别手机问题
- 独家揭秘知网查重系统的匹配原则
- npm下代码-D和-S的区别
- socket recv阻塞与非阻塞error总结
- MyISAM和InnoDB的区别