generator自动生成mybatis配置和类信息

这篇是对generator配置的一些说明:可以结合http://blog.csdn.net/techbirds_bao/article/details/9283521 一起了解下。

 

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代码  复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE generatorConfiguration 
  3.   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 
  4.   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 
  5.  
  6. <generatorConfiguration> 
  7.   <!-- classPathEntry:数据库的JDBC驱动的jar包地址--> 
  8.   <classPathEntry location="E:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" /> 
  9. <context id="DB2Tables" targetRuntime="MyBatis3"> 
  10.   <commentGenerator> 
  11.     <!-- 是否去除自动生成的注释 true:是 : false:否 --> 
  12.     <property name="suppressAllComments" value="true" /> 
  13.     <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> 
  14.   </commentGenerator> 
  15.   <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" 
  16.           connectionURL="jdbc:oracle:thin:@198.17.1.1:1521:ORCL" 
  17.           userId="unuser" 
  18.           password="password"> 
  19.   </jdbcConnection> 
  20.     <!--  默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer  
  21.          true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal  
  22.      -->  
  23.   <javaTypeResolver > 
  24.      <property name="forceBigDecimals" value="false" /> 
  25.   </javaTypeResolver> 
  26.   <!-- targetProject:自动生成代码的位置 --> 
  27.   <javaModelGenerator targetPackage="com.soft.model" targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\src"> 
  28.       <!-- enableSubPackages:是否让schema作为包的后缀 -->      
  29.       <property name="enableSubPackages" value="true" /> 
  30.     <!-- 从数据库返回的值被清理前后的空格  -->  
  31.       <property name="trimStrings" value="true" /> 
  32.   </javaModelGenerator> 
  33.    
  34.   <sqlMapGenerator targetPackage="sqlmap"  targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\conf"> 
  35.        <property name="enableSubPackages" value="false" /> 
  36.   </sqlMapGenerator> 
  37.    
  38.   <javaClientGenerator type="XMLMAPPER" targetPackage="com.soft.mapping" targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\src"> 
  39.     <property name="enableSubPackages" value="true" /> 
  40.   </javaClientGenerator> 
  41.   <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 --> 
  42.   <table schema="untodo" tableName="mocha_t_app" domainObjectName="MochaTodoApp" > 
  43.    
  44.   </table> 
  45. </context> 
  46.   
  47. </generatorConfiguration> 
[xml]  view plain  copy
 print ?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE generatorConfiguration  
  3.   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
  5.   
  6. <generatorConfiguration>  
  7.   <!-- classPathEntry:数据库的JDBC驱动的jar包地址-->  
  8.   <classPathEntry location="E:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />  
  9. <context id="DB2Tables" targetRuntime="MyBatis3">  
  10.   <commentGenerator>  
  11.     <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
  12.     <property name="suppressAllComments" value="true" />  
  13.     <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->  
  14.   </commentGenerator>  
  15.   <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"  
  16.           connectionURL="jdbc:oracle:thin:@198.17.1.1:1521:ORCL"  
  17.           userId="unuser"  
  18.           password="password">  
  19.   </jdbcConnection>  
  20.     <!--  默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer   
  21.          true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal   
  22.      -->   
  23.   <javaTypeResolver >  
  24.      <property name="forceBigDecimals" value="false" />  
  25.   </javaTypeResolver>  
  26.   <!-- targetProject:自动生成代码的位置 -->  
  27.   <javaModelGenerator targetPackage="com.soft.model" targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\src">  
  28.       <!-- enableSubPackages:是否让schema作为包的后缀 -->       
  29.       <property name="enableSubPackages" value="true" />  
  30.     <!-- 从数据库返回的值被清理前后的空格  -->   
  31.       <property name="trimStrings" value="true" />  
  32.   </javaModelGenerator>  
  33.     
  34.   <sqlMapGenerator targetPackage="sqlmap"  targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\conf">  
  35.        <property name="enableSubPackages" value="false" />  
  36.   </sqlMapGenerator>  
  37.     
  38.   <javaClientGenerator type="XMLMAPPER" targetPackage="com.soft.mapping"  targetProject="E:\WebWorkSpace\workspace_js\downAttachdemo\src">  
  39.     <property name="enableSubPackages" value="true" />  
  40.   </javaClientGenerator>  
  41.   <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->  
  42.   <table schema="untodo" tableName="mocha_t_app" domainObjectName="MochaTodoApp" >  
  43.     
  44.   </table>  
  45. </context>  
  46.    
  47. </generatorConfiguration>  


table其他属性:
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代码  复制代码  收藏代码
  1. 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 
[java]  view plain  copy
 print ?
  1. 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运行关键代码:

 
Java代码  复制代码  收藏代码
  1. List<String> warnings = new ArrayList<String>(); 
  2.   boolean overwrite = true
  3.   File configFile = new File("generatorConfig.xml"); 
  4.   ConfigurationParser cp = new ConfigurationParser(warnings); 
  5.   Configuration config = cp.parseConfiguration(configFile); 
  6.   DefaultShellCallback callback = new DefaultShellCallback(overwrite); 
  7.   MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); 
  8.   myBatisGenerator.generate(null); 
[java]  view plain  copy
 print ?
  1. List<String> warnings = new ArrayList<String>();  
  2.   boolean overwrite = true;  
  3.   File configFile = new File("generatorConfig.xml");  
  4.   ConfigurationParser cp = new ConfigurationParser(warnings);  
  5.   Configuration config = cp.parseConfiguration(configFile);  
  6.   DefaultShellCallback callback = new DefaultShellCallback(overwrite);  
  7.   MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);  
  8.   myBatisGenerator.generate(null);  

   
其实Java运行,细分可以分两种,还有一种可以去官网学习。
  
4、生成代码之后,根据自己的实际项目架构,可以对生成的代码进行适当的修改,如把数据库管理交有spring等等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于自动生成实体和mapper的问题,可以考虑使用MyBatis Generator插件来实现。MyBatis Generator是一个官方支持的代码生成工具,可以根据数据库表结构自动生成实体和mapper接口。 以下是一些简单的步骤来使用MyBatis Generator插件来生成实体和mapper: 1. 首先,您需要在您的项目中引入MyBatis Generator插件的依赖。您可以在pom.xml文件(如果您使用Maven)或build.gradle文件(如果您使用Gradle)中添加相应的依赖。 2. 接下来,编写一个MyBatis Generator配置文件(一般命名为generatorConfig.xml),用于定义生成实体和mapper的规则。配置文件中包含了数据库连接信息、要生成的表、生成的目标包等信息。 3. 在配置文件中,您可以配置生成的实体的规则,例如是否使用Lombok注解、是否生成对应字段的getters和setters等。 4. 配置generatorConfig.xml文件后,您可以执行MyBatis Generator插件来生成实体和mapper。一般情况下,可以通过命令行或者IDE中的插件来执行。 5. 执行成功后,您将在指定的目标包中看到生成的实体和mapper接口。这些文件将根据您在配置文件中定义的规则生成。 需要注意的是,使用MyBatis Generator插件生成的实体和mapper只是初始化的代码,您仍然需要根据需要进行调整和扩展。 希望以上信息对您有所帮助!如有更多问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值