先修改ibator1.2.2(http://svn.apache.org/repos/asf/ibatis/java/ibator)
1) 修改org.apache.ibatis.ibator.api.Ibator类,
方法private void writeFile(File file, String content) throws IOException
修改编码如下:
private void writeFile(File file, String content) throws IOException {
java.io.OutputStreamWriter fos = new java.io.OutputStreamWriter(new java.io.FileOutputStream(file), "UTF-8");
fos.write(content);
fos.flush();
fos.close();
}
2)修改org.apache.ibatis.ibator.internal.DefaultCommentGenerator类中的addFieldComment,addClassComment,addGetterComment,addSetterComment,addGeneralMethodComment,addComment方法,修改成你想要的格式。
修改如下方法:
public void addClassComment(InnerClass innerClass,
IntrospectedTable introspectedTable) {
addClassComment(innerClass, introspectedTable.getFullyQualifiedTable(), false);
}
public void addEnumComment(InnerEnum innerEnum,
IntrospectedTable introspectedTable) {
addEnumComment(innerEnum, introspectedTable.getFullyQualifiedTable());
}
public void addFieldComment(Field field,
IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn) {
addFieldComment(field, introspectedTable.getFullyQualifiedTable(),
introspectedColumn.getRemarks());
}
public void addFieldComment(Field field, IntrospectedTable introspectedTable) {
addFieldComment(field, introspectedTable.getFullyQualifiedTable());
}
public void addGeneralMethodComment(Method method,
IntrospectedTable introspectedTable) {
addGeneralMethodComment(method, introspectedTable.getFullyQualifiedTable());
}
public void addGetterComment(Method method,
IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn) {
addGetterComment(method, introspectedTable.getFullyQualifiedTable(),
introspectedColumn.getRemarks());
}
public void addSetterComment(Method method,
IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn) {
addSetterComment(method, introspectedTable.getFullyQualifiedTable(),
introspectedColumn.getRemarks());
}
public void addClassComment(InnerClass innerClass,
IntrospectedTable introspectedTable, boolean markAsDoNotDelete) {
addClassComment(innerClass, introspectedTable.getFullyQualifiedTable(), markAsDoNotDelete);
}
主要是把
introspectedColumn.getActualColumnName()
改成(利用数据库中的comment生成注释)
introspectedColumn.getRemarks()
3)修改好,把生成的jar文件:"ibator-core-1.2.2-SNAPSHOT.jar",改名为"ibator.jar",在安装了ibator插件的Eclipse中,覆盖eclipse\plugins\org.apache.ibatis.ibator.core_1.2.1下的jar文件
4)测试:
4.1) 数据库脚本:
create table
CREATE TABLE `brand` (
`code` varchar(36) NOT NULL default '' COMMENT '代码',
`logopath` varchar(80) default NULL COMMENT 'logo路径',
`name` varchar(40) NOT NULL default '' COMMENT '名字',
`visible` bit(1) NOT NULL COMMENT '是否可见',
PRIMARY KEY (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
create table
CREATE TABLE `employee` (
`username` varchar(20) NOT NULL default '' COMMENT '用户名',
`degree` varchar(10) default NULL COMMENT '等级',
`email` varchar(50) default NULL COMMENT '电子邮箱',
`gender` varchar(5) NOT NULL default '' COMMENT '性别',
`imageName` varchar(41) default NULL COMMENT '图片名字',
`password` varchar(20) NOT NULL default '' COMMENT '密码',
`phone` varchar(20) default NULL COMMENT '电话',
`realname` varchar(10) NOT NULL default '' COMMENT '真实姓名',
`school` varchar(20) default NULL COMMENT '学校',
`visible` bit(1) NOT NULL COMMENT '是否可见',
`department_id` int(11) default NULL COMMENT '部门ID',
`card_id` int(11) NOT NULL COMMENT '身份证',
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4.2)ibatorConfig.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ibatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS Ibator Configuration 1.0//EN" "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" >
<ibatorConfiguration>
<classPathEntry
location="D:/Eclipse/workspace/helios-3.6/test/lib/mysql_connector_java_5.jar" />
<ibatorContext id="context1" targetRuntime="Ibatis2Java5">
<commentGenerator>
<property name="suppressDate" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/test" userId="root"
password="root">
</jdbcConnection>
<javaModelGenerator targetPackage="cn.zlj.ibatis.entity"
targetProject="test" />
<sqlMapGenerator targetPackage="cn.zlj.ibatis.sqlmap"
targetProject="test" />
<daoGenerator targetPackage="cn.zlj.ibatis.dao"
targetProject="test" implementationPackage="cn.zlj.ibatis.dao.impl"
type="spring" />
<table tableName="brand">
</table>
<table tableName="employee">
</table>
</ibatorContext>
</ibatorConfiguration>
4.3)ibator生成文件: 略
OK,修改完成,去掉了很多原来自动生成的注释。
可以自己写实现org.apache.ibatis.ibator.api.CommentGenerato
或者重写org.apache.ibatis.ibator.internal.DefaultCommentGenerator这个类的
public void addClassComment(InnerClass innerClass,
IntrospectedTable introspectedTable)
public void addEnumComment(InnerEnum innerEnum,
IntrospectedTable introspectedTable)
public void addFieldComment(Field field,
IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn)
public void addFieldComment(Field field, IntrospectedTable introspectedTable);
public void addGeneralMethodComment(Method method,
IntrospectedTable introspectedTable) ;
public void addGetterComment(Method method,
IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn) ;
public void addSetterComment(Method method,
IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn) ;
public void addClassComment(InnerClass innerClass,
IntrospectedTable introspectedTable, boolean markAsDoNotDelete) ;
ibator1.2.2与以前的版本的主要改变就是以上这几个方法,原来的这种
addFieldComment(Field field, FullyQualifiedTable table, String columnName)方法,
在下一版本中就会被去掉了。
/**
* Method from the old version of the interface.
*
* TODO - remove in release 1.2.3
*
* @deprecated as of version 1.2.2.
* @see DefaultCommentGenerator#addFieldComment(Field, IntrospectedTable, IntrospectedColumn)
*/
public void addFieldComment(Field field, FullyQualifiedTable table, String columnName) {
。。。。。
}
分享到:
相关推荐
ibator1.2.2多了点功能,具体可以百度,重新编译了下,生成注释去掉了
此项目通过对ibator的改造,通过执行cmd命令自动生成sql与Dao,大大提高开发效率
使用数据库的注释,不用自带的注释 http://blog.csdn.net/tiantangpw/article/details/43489817 运行命令 java -jar ibator.jar -configfile ibatorConfig.xml -overwrite >>ibator.log
开源ibator什么xml和pojo的时候,经常会带一些讨厌的注释还有一些没用的ibatorgenerator等的,我改了它的源代码,弄了个干净的ibator
Ibator is a code generator for iBATIS. Ibator will introspect a database table (or many tables) and will generate iBATIS artifacts that can be used to access the table(s). This abates some of the ...
NULL 博文链接:https://xiao9.iteye.com/blog/954159
删除注释工具类。针对Ibator生成的实体产生的注释,填写参数,删除注释。
iBATOR is a code generator for iBATIS.
eclipse的ibatis代码生成器,最新版ibator 1.2.1
自动生成dto\dao\xml 自带批处理自动生成程序
Ibatis 生成器 Ibator 的 API 文档
ibator插件优化的jar包,安装完ibator后,将eclipse\plugins\org.apache.ibatis.ibator.core_1.2.1下的jar包替换即可。
NULL 博文链接:https://dr-yanglong.iteye.com/blog/1936559
去除了注释、去除Example方法及去除生成的id前面的“ibatorgenerated_”
eclipse的集成插件,ibator.jar,可以直接mybatis导表,图形化展示,简单易用,直接放到eclipse的plugin文件夹下即可
ibatis代码自动生成工具Eclipse插件,已进行优化处理,不生成注释和精简dao方法,亲测可用
ibator教学视频,手把手教你使用ibator
用户ibatis自动成才代码的一种工具,减少开发人员的工作量。
ibator-huoniao通过它你可以通过配置少量参数,通过一键生成dao层的全部文件,能够应付对dao层的所有操作 产物包括: 1. pojo文件 2. dao接口类 3. dao接口实现类文件 4. ibatis sql map文件 5. 数据库查询时...
在myelipse7.5中安装ibator插件的方法与安装一般插件的方法是一致的,有以下2种方式(个人推荐使用手动安装方式,避免网络等原因造成安装不成功): 1. 手动安装方式 将邮件中附件的Ibator插件压缩文件IbatorForEclipse...