`

Abator自动生成ibatis的相关配置和类

阅读更多
一、abator自动生成配置:
abator自动生成ibatis的配置文件、mode、sqlMap、dao、bean实例
准备:
1、安装Eclipse插件:
     要求eclipse3.1,jdk1.4以上
     在eclipse上安装abator插件
       eclipse菜单栏 --> help --> Software Updates --> Find And nstall...
     在弹出的对话框中选择 “Search for new features to install” 然后点击 “next”
    在对话框中点击按钮 New Remort Site... 在弹出的对话框中的URL输入框中填写 http://ibatis.apache.org/tools/abator ,Name输入框就随便写些什么了。
    点击Finish,安装插件,然后重新启动eclipse   
2、在eclipse项目中新建Abator Configuration File,名为:abatorConfig.xml(可以自定义)。
生成xml修改之后如下:

<!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN" "http://ibatis.apache.org/dtd/abator-config_1_0.dtd" >
<abatorConfiguration >
  <abatorContext >
    <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" 
          connectionURL="jdbc:oracle:thin:@198.17.1.1:1521:ORCL" userId="untodo" password="password" >
      <classPathEntry location="E:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />
    </jdbcConnection>
    <javaModelGenerator targetPackage="com.mochasoft.model" targetProject="downAttachdemo/src">
      <property name="enableSubPackages" value="true" /> 
    </javaModelGenerator>
    <sqlMapGenerator targetPackage="sqlmap" targetProject="downAttachdemo/conf>
      <property name="enableSubPackages" value="true" /> 
    </sqlMapGenerator>
    <daoGenerator targetPackage="com.mochasoft.dao" targetProject="downAttachdemo/src" type="ibatis">
     <property name="enableSubPackages" value="true" /> 
    </daoGenerator>
    <table schema="untodo" tableName="APP" >
      <columnOverride column="SYS_ID" property="sysId" />
      <columnOverride column="SYS_NAME" property="sysName" />
    </table>
  </abatorContext>
</abatorConfiguration>

3、在配置文件上点解右键,选择 “Generate iBatis Artifacts”

说明:driverClass:数据库连接驱动类
      connectionURL:数据库连接地址
      userId:数据库用户
      passwor:数据库密码
      location:数据库驱动jar包地址(本地)
      targetPachage:自动生成的包的地址,(可以是已建好的,也可以是未建的)
      targetProject:自动生成的项目名
      type:生成dao文件的类型,可选择IBATIS、SPRING、GENERIC-CI、GENERIC-SI。默认使用GENERIC-CI

 <property name="enableSubPackages" value="false" />
  是否在包名后加上scheme名称
schema:Oracle的话填写用户名
tableName:要生成的表名
column:表字段名
property:表映射生成类属性名
talbe下的字段说明:  
   tableName 数据库表明,据说可以包含SQL通配符%和_。
   domainObjectName 数据库表对应的数据对象名称,默认使用表名作为对象名称。
     
 <property name="useActualColumnNames" value="true"/> 

对象的属性名是否使用字段名称
 <generatedKey column="ID" sqlStatement="DB2" identity="true" />
 
    column    自增长或使用sequence生成的字段名
              sqlStatement 生成字段的sql片段或其简称(参考官方文档)
              identity    true表示后生成,false表示预生成
               例如:

  
 
  postgresql:<generatedKey 
                      column="lid" 
                      sqlStatement="select nextval('tb000000producttype_lid_seq')" 
                      identity="false" /> 
                  sqlserver:<generatedKey 
                      column="lid" 
                      sqlStatement="SqlServer" 
                      identity="true" /> 
                  oracle:<generatedKey 
                      column="lid" 
                      sqlStatement="select tb000000producttype_lid_seq.nextval from dual" 
                      identity="false" /> 


  <columnOverride column="DATE_FIELD" property="startDate" /> 

        column 字段名
         property 字段对应的属性名。(默认使用字段名的)
         javaType 对应的Java类型
         jdbcType 对应的jdbc类型    
        这里的设置覆写javaTypeResolver中的指定
  
<ignoreColumn column="FRED" /> 

  column    需要忽略的数据库字段 
 <columnRenamingRule searchString="^CUST_" replaceString="" /> 

  数据库字段名称到对象属性名称的影射关系。就是一个替换处理。     
3
1
分享到:
评论
8 楼 jakeyouxiang 2014-09-15  
真的支持通配符的,牛逼啊!偷好多懒
7 楼 jadethao 2012-11-27  
hellostory 写道
jadethao 写道
hellostory 写道
ninthbar 写道
哦哦,关联映射如何自动生成?

比如:用户-角色,目录-父目录


还有,分页呢???????

像分页这些有点复杂的可以自己手动配置,自动生成也不是万能的,只是方便的生成了一些常用的,其他完全可以根据需求手动配置。


分页也是可以有模板的,比如MySQL末尾始终是
// 这是是其它SQL语句
limit #{offset}, #{rows}

嗯,但是每个数据库都有自己的函数,这可以根据需要进行处理比较好。个人见解。
6 楼 hellostory 2012-11-27  
jadethao 写道
hellostory 写道
ninthbar 写道
哦哦,关联映射如何自动生成?

比如:用户-角色,目录-父目录


还有,分页呢???????

像分页这些有点复杂的可以自己手动配置,自动生成也不是万能的,只是方便的生成了一些常用的,其他完全可以根据需求手动配置。


分页也是可以有模板的,比如MySQL末尾始终是
// 这是是其它SQL语句
limit #{offset}, #{rows}
5 楼 jadethao 2012-11-27  
hellostory 写道
ninthbar 写道
哦哦,关联映射如何自动生成?

比如:用户-角色,目录-父目录


还有,分页呢???????

像分页这些有点复杂的可以自己手动配置,自动生成也不是万能的,只是方便的生成了一些常用的,其他完全可以根据需求手动配置。
4 楼 hellostory 2012-11-15  
ninthbar 写道
哦哦,关联映射如何自动生成?

比如:用户-角色,目录-父目录


还有,分页呢???????
3 楼 ninthbar 2012-11-15  
哦哦,关联映射如何自动生成?

比如:用户-角色,目录-父目录
2 楼 jadethao 2012-11-14  
dacoolbaby 写道
哈哈,懒人好的工具。。

这是为提高工作效率!嘻嘻~~~~
1 楼 dacoolbaby 2012-11-14  
哈哈,懒人好的工具。。

相关推荐

Global site tag (gtag.js) - Google Analytics