惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
爱范儿
爱范儿
量子位
Martin Fowler
Martin Fowler
V
V2EX
博客园 - 三生石上(FineUI控件)
I
InfoQ
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
Engineering at Meta
Engineering at Meta

博客园 - hugh-lin

MySql数据库、表名大小写的问题 [转]Spring--简单使用quartz实现定时作业 [转]PowerDesigner使用技巧 Struts2.1开发笔记-2 Struts2.1开发笔记-1 PowerDesigner 12.5 导致 Word 2003鼠标没反应的解决方法 J2EE开发之常用开源项目介绍(转) [转]通过ScriptManager在客户端来调用服务器端方法或者webService的方法 - hugh-lin - 博客园 [转]关闭Visual Studio 实时调试器 [转]java安装配置 [转]文件缓存的方式减少网站负载 [转]C#中得到程序当前工作目录和执行目录的一些方法 [转] NHibernate对像版本控制使用示例 [转]Web项目下NHibernate的Session管理的解决方案 分页 oracle 导入/导出 [转]Datagridview 实现二维表头 [转]使用.NET实现断点续传 [转]IIS站点管理类 [转]C#的usb通讯编程
IBatis的自动生成工具abator的改造 - hugh-lin - 博客园
hugh-lin · 2008-01-22 · via 博客园 - hugh-lin

使用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