mybatis自动生成实体类和配制文件

需求:

执行语句:

java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite

geterator配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 数据库驱动包位置 -->
<!-- <classPathEntry location="D:\software\lib\mysql-connector-java-5.1.21.jar" /> -->

<!-- 驱动包存放的路径-->
<classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>(suppressAllComments*阻止**生成注释)
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库链接URL、用户名、密码 -->

(

  • driverClass:访问数据库的JDBC驱动程序的完全限定类名
  • connectionURL:访问数据库的JDBC连接URL

该元素还有两个可选属性:

  • userId:访问数据库的用户ID
  • password:访问数据库的密码
)
<!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/sy" userId="sypro" password="sypro"> -->
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa">
</jdbcConnection>
<javaTypeResolver>(javaTypeResolver 指定JDBC类型和Java类型如何转换
<property name="forceBigDecimals(可以控制是否强制DECIMALNUMERIC类型的字段转换为Java类型的java.math.BigDecimal,默认值为false,一般不需要配置)" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="sy.model" targetProject="D:\study\mybatis\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings( 否对数据库查询结果进行trim操作,如果设置为true就会生成类似这样public void setUsername(String username) {this.username = username == null ? null : username.trim();}setter方法。默认值为false)" value="true" />
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->

(suppressAllComments)
<sqlMapGenerator targetPackage="sy.mapping" targetProject="D:\study\mybatis\src">
<property name="enableSubPackages(如果true,MBG会根据catalogschema来生成子包。如果false就会直接用targetPackage属性。默认为false)" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER(XMLMAPPER所有的方法都在XML中,接口调用依赖XML文件)" targetPackage="sy.dao"(targetPackage生成的包名) targetProject="D:\study\mybatis\src(targetProject生成包的路径)">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->

(1.domainObjectName:生成对象(实体类)的基本名称。如果没有指定,MBG会自动根据表名来生成名称

(2.enableXXX:XXX代表多种SQL方法,该属性用来指定是否生成对应的XXX语句。)
<table tableName="tbug" domainObjectName="Bug" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="tmenu" domainObjectName="Menu" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="tonline" domainObjectName="Online" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="tresource" domainObjectName="Resource" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="trole" domainObjectName="Role" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="trole_tresource" domainObjectName="RoleResource" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="tuser" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="tuser_trole" domainObjectName="UserRole" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
</context>
</generatorConfiguration>

其它相关:

  • MyBatis3:
    • ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
    • MIXEDMAPPER:XML和注解的混合形式,(上面这种情况中的)SqlProvider注解方法会被XML替代。
    • XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。
  • MyBatis3Simple:
    • ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
    • XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值