generator自动生成mybatis的xml配置

generator自动生成mybatis的xml配置、model、map等信息:
1、下载mybatis-generator-core-1.3.2.jar包。
       网址:http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DGenerator,下载mybatis-generator-core-1.3.2-bundle.zip,解压
       找到lib下的需要jar包。

2、编写genertor的xml文件,名下:generator.xml


Xml代码


<?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:数据库的JDBC驱动的jar包地址-->
  <classPathEntry location="E:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
  <commentGenerator>
    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <property name="suppressAllComments" value="true" />
    <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
  </commentGenerator>
  <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
          connectionURL="jdbc:oracle:thin:@198.17.1.1:1521:ORCL"
          userId="unuser"
          password="password">
  </jdbcConnection>
    <!--  默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer 
         true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal 
     --> 
  <javaTypeResolver >
     <property name="forceBigDecimals" value="false" />
  </javaTypeResolver>
  <!-- targetProject:自动生成代码的位置 -->
  <javaModelGenerator targetPackage="com.soft.model" targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\src">
      <!-- enableSubPackages:是否让schema作为包的后缀 -->     
      <property name="enableSubPackages" value="true" />
  	<!-- 从数据库返回的值被清理前后的空格  --> 
      <property name="trimStrings" value="true" />
  </javaModelGenerator>
  
  <sqlMapGenerator targetPackage="sqlmap"  targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\conf">
       <property name="enableSubPackages" value="false" />
  </sqlMapGenerator>
  
  <javaClientGenerator type="XMLMAPPER" targetPackage="com.soft.mapping"  targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\src">
    <property name="enableSubPackages" value="true" />
  </javaClientGenerator>
  <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
  <table schema="untodo" tableName="mocha_t_app" domainObjectName="MochaTodoApp" >
  
  </table>
</context>
 
</generatorConfiguration>

able其他属性:
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false"
schema即为数据库名, tableName为对应的数据库表, domainObjectName是要生成的实体类,
如果想要mapper配置文件加入sql的where条件查询, 可以将enableCountByExample等设为true,
这样就会生成一个对应domainObjectName的Example类, enableCountByExample等设为false时,
就不会生成对应的Example类了.

如果table里边不配置property,默认字段都生成为类属性。
<ignoreColumn column="FRED" />//忽略字段
<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />//无论字段是什么类型,生成的类属性都是varchar。

3、运行有四种:命令生成(最简单)、Java生成、ant生成、maven生成。这里说两种,有兴趣其余的可以在mybatis官网去学习。

1)、运行-》cmd->java - jar jar包的文件路径  -configfile  generator.xml的文件路径  -overwrite 命令。
如下:


java -jar E:\Websoft\mybaits\mybatis-generator-core-1.3.2\lib\mybatis-generator-core-1.3.2.jar -configfile E:\WebWorkSpace\workspace_js\downAttachdemo\src\com\mochasoft\down\generator.xml -overwrite

成功时输出:MyBatis Generator finished successfully.
2)、java运行关键代码:

 List<String> warnings = new ArrayList<String>();
   boolean overwrite = true;
   File configFile = new File("generatorConfig.xml");
   ConfigurationParser cp = new ConfigurationParser(warnings);
   Configuration config = cp.parseConfiguration(configFile);
   DefaultShellCallback callback = new DefaultShellCallback(overwrite);
   MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
   myBatisGenerator.generate(null);

其实Java运行,细分可以分两种,还有一种可以去官网学习。
 
4、生成代码之后,根据自己的实际项目架构,可以对生成的代码进行适当的修改,如把数据库管理交有spring等等。

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值