六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 45|回复: 0

IBatis的自动生成工具abator的改造

[复制链接]

升级  6.67%

14

主题

14

主题

14

主题

秀才

Rank: 2

积分
60
 楼主| 发表于 2013-2-3 10:36:28 | 显示全部楼层 |阅读模式
使用abator生成的代码,最大的问题就是它的注释问题!一大堆的"abatorgenerate_",为了代码的可读性,只好download下原代码,进行改造!改造的主要目的是:给生成model、dao、daoImpl的文件加上中文的注释,并且给Model文件的属性设置初始化值。

目前已经改造完成,可以添加中文注释,abatorConfig.xml中改动了“table”元素,如下:

<table tableName="CORPLOGO" domainObjectName="CorpLogo" enableSelectByExample="false"
   enableDeleteByExample="false" selectByExampleQueryId="false" comment="企业商标">
   <property name="useActualColumnNames" value="true" />
   <columnOverride column="uploadDateTime" property="uploadDateTime" jdbcType="DATE" comment="上传时间" />
  </table>

增加的comment的属性

示例:生成的Model文件如下:
CorpLogo.java (注:cno字段没有配置)

package cn.test;
import java.util.Date;
/**
 * 企业商标
 */
public class CorpLogo {
    private String CNO = "";
    private Date uploadDateTime = null;
    private String UPLOADFILENAME = "";
    private String LOGOPICFILEPATH = "";
    private String OPERUSERID = "";
    public String getCNO() {
        return CNO;
    }
    public void setCNO(String CNO) {
        this.CNO = CNO;
    }
    /**
     * @return 上传时间
     */
    public Date getUploadDateTime() {
        return uploadDateTime;
    }
    /**
     * @param uploadDateTime 上传时间
     */
    public void setUploadDateTime(Date uploadDateTime) {
        this.uploadDateTime = uploadDateTime;
    }
    public String getUPLOADFILENAME() {
        return UPLOADFILENAME;
    }
    public void setUPLOADFILENAME(String UPLOADFILENAME) {
        this.UPLOADFILENAME = UPLOADFILENAME;
    }
    public String getLOGOPICFILEPATH() {
        return LOGOPICFILEPATH;
    }
    public void setLOGOPICFILEPATH(String LOGOPICFILEPATH) {
        this.LOGOPICFILEPATH = LOGOPICFILEPATH;
    }
    public String getOPERUSERID() {
        return OPERUSERID;
    }
    public void setOPERUSERID(String OPERUSERID) {
        this.OPERUSERID = OPERUSERID;
    }
}

涉及到改动文件大体如下:
org.apache.ibatis.abator.api.FullQualifiedTable
org.apache.ibatis.abator.config.TableConfiguration
org.apache.ibaits.abator.internal.db.ColumnDefinition
org.apache.ibatis.abator.internal.db.DatabaseIntrospector
org.apache.ibatis.abator.internal.java.dao.AbstractDaoTemplate
org.apache.ibatis.abator.internal.java.dao.BaseDaoGenerator
org.apache.ibatis.abator.api.dom.java.InnerClass
org.apache.ibatis.abator.api.dom.java.Field
org.apache.ibatis.abator.api.dom.java.Method
org.apache.ibatis.abator.api.dom.java.TopLevelClass
org.apache.ibatis.abator.api.dom.java.Interface
org.apache.ibatis.abator.api.dom.xml.XmlElement
org.apache.ibatis.abator.internal.java.model.JavaModelGeneratorJava2Impl
org.apache.ibatis.abator.internal.java.model.JavaModelGeneratorJava5Impl
org.apache.ibatis.abator.internal.sqlmap.SqlMapGeneratorIterateImpl
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表