MBG自动生成sql语句

www.mybatis.org/generator/configreference/xmlconfig.html


pom.xml文件

[html] view plain copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.   <groupId>MBG</groupId>  
  4.   <artifactId>MBG</artifactId>  
  5.   <version>0.0.1-SNAPSHOT</version>  
  6.   <packaging>war</packaging>  
  7.   <name/>  
  8.   <description/>  
  9.   
  10. <properties>  
  11.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  12.   </properties>  
  13.   
  14.   <dependencies>  
  15.     <dependency>  
  16.       <groupId>junit</groupId>  
  17.       <artifactId>junit</artifactId>  
  18.       <version>3.8.1</version>  
  19.       <scope>test</scope>  
  20.     </dependency>  
  21.   </dependencies>  
  22.   <build>  
  23.     <plugins>  
  24.         <plugin>  
  25.           <groupId>org.mybatis.generator</groupId>  
  26.           <artifactId>mybatis-generator-maven-plugin</artifactId>  
  27.           <version>1.3.5</version>  
  28.           <configuration>  
  29.             <configurationFile>src/main/java/mbg.xml</configurationFile>  
  30.           </configuration>  
  31.         </plugin>  
  32.     </plugins>  
  33.   </build>  
  34. </project>  

配置的xml文件
[html] view plain copy
  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.   <!-- 生成代码 需要一些步骤  
  8.         1  连接数据库 (驱动包 四要素)  
  9.    -->  
  10.   <classPathEntry location="H:\lib\mysql-connector-java-5.1.13-bin.jar" />  
  11.   <!-- 设置生成代码的规则  
  12.           targetRuntime开发环境使用Mybatis的版本  
  13.      -->  
  14.   <context id="DB2Tables" targetRuntime="MyBatis3">  
  15.     <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"></plugin>  
  16.      <!-- 配置连接mysql四要素 -->  
  17.     <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
  18.         connectionURL="jdbc:mysql://localhost:3306/food"  
  19.         userId="root"  
  20.         password="123">  
  21.     </jdbcConnection>  
  22.   
  23.     <javaTypeResolver >  
  24.       <property name="forceBigDecimals" value="false" />  
  25.     </javaTypeResolver>  
  26.     <!-- 实体类 bean 带有get和set方法的bean -->  
  27.     <javaModelGenerator targetPackage="cn.et.entity" targetProject="src/main/java">  
  28.       <property name="enableSubPackages" value="true" />  
  29.       <property name="trimStrings" value="true" />  
  30.     </javaModelGenerator>  
  31.     <!-- sql语句相关的xml或者注解的生成包路径 -->  
  32.     <sqlMapGenerator targetPackage="cn.et.dao"  targetProject="src/main/java">  
  33.       <property name="enableSubPackages" value="true" />  
  34.     </sqlMapGenerator>  
  35.     <!-- 生成的接口所在位置 type="ANNOTATEDMAPPER"生成注解开发代码 type="XMLMAPPER"生成相对应的xml文件-->   
  36.     <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="cn.et.dao"  targetProject="src/main/java">  
  37.     <!-- enableSubPackages:是否让schema作为包的后缀 -->  
  38.       <property name="enableSubPackages" value="true" />  
  39.     </javaClientGenerator>  
  40.     <!-- 告诉mbg 需要生成代码的表 -->  
  41.     <table tableName="student"  >  
  42.     </table>  
  43.       
  44.   </context>  
  45. </generatorConfiguration>  

如果是myeclipse生成是就会出现一个的错误

`

maven运行方式

mybatis-generator:generate



2.使用java代码生成

[html] view plain copy
  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.     <context id="testTables" targetRuntime="MyBatis3">  
  8.         <commentGenerator>  
  9.             <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
  10.             <property name="suppressAllComments" value="true" />  
  11.         </commentGenerator>  
  12.         <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->  
  13.         <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
  14.             connectionURL="jdbc:mysql://localhost:3306/store" userId="root"  
  15.             password="123">  
  16.         </jdbcConnection>  
  17.         <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和   
  18.             NUMERIC 类型解析为java.math.BigDecimal -->  
  19.         <javaTypeResolver>  
  20.             <property name="forceBigDecimals" value="false" />  
  21.         </javaTypeResolver>  
  22.   
  23.         <!-- targetProject:生成PO类的位置 -->  
  24.         <javaModelGenerator targetPackage="com.et.pojo"  
  25.             targetProject=".\src">  
  26.             <!-- enableSubPackages:是否让schema作为包的后缀 -->  
  27.             <property name="enableSubPackages" value="false" />  
  28.             <!-- 从数据库返回的值被清理前后的空格 -->  
  29.             <property name="trimStrings" value="true" />  
  30.         </javaModelGenerator>  
  31.         <!-- targetProject:mapper映射文件生成的位置 -->  
  32.         <sqlMapGenerator targetPackage="com.et.mapper"   
  33.             targetProject=".\src">  
  34.             <!-- enableSubPackages:是否让schema作为包的后缀 -->  
  35.             <property name="enableSubPackages" value="false" />  
  36.         </sqlMapGenerator>  
  37.         <!-- targetPackage:mapper接口生成的位置 -->  
  38.         <javaClientGenerator type="XMLMAPPER"  
  39.             targetPackage="com.et.mapper"   
  40.             targetProject=".\src">  
  41.             <!-- enableSubPackages:是否让schema作为包的后缀 -->  
  42.             <property name="enableSubPackages" value="false" />  
  43.         </javaClientGenerator>  
  44.         <!-- 指定数据库表 -->  
  45.         <table schema="" tableName="tb_content"></table>  
  46.         <table schema="" tableName="tb_content_category"></table>  
  47.         <table schema="" tableName="tb_item"></table>  
  48.         <table schema="" tableName="tb_item_cat"></table>  
  49.         <table schema="" tableName="tb_item_desc"></table>  
  50.         <table schema="" tableName="tb_item_param"></table>  
  51.         <table schema="" tableName="tb_item_param_item"></table>  
  52.         <table schema="" tableName="tb_order"></table>  
  53.         <table schema="" tableName="tb_order_item"></table>  
  54.         <table schema="" tableName="tb_order_shipping"></table>  
  55.         <table schema="" tableName="tb_user"></table>  
  56.   
  57.     </context>  
  58. </generatorConfiguration>  

运行此方法
[html] view plain copy
  1. import java.io.File;  
  2. import java.io.IOException;  
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import org.mybatis.generator.api.MyBatisGenerator;  
  7. import org.mybatis.generator.config.Configuration;  
  8. import org.mybatis.generator.config.xml.ConfigurationParser;  
  9. import org.mybatis.generator.exception.XMLParserException;  
  10. import org.mybatis.generator.internal.DefaultShellCallback;  
  11.   
  12. public class GeneratorSqlmap {  
  13.   
  14.     public void generator() throws Exception{  
  15.   
  16.         List<String> warnings = new ArrayList<String>();  
  17.         boolean overwrite = true;  
  18.         //指定 逆向工程配置文件  
  19.         File configFile = new File("generatorConfig.xml");   
  20.         ConfigurationParser cp = new ConfigurationParser(warnings);  
  21.         Configuration config = cp.parseConfiguration(configFile);  
  22.         DefaultShellCallback callback = new DefaultShellCallback(overwrite);  
  23.         MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,  
  24.                 callback, warnings);  
  25.         myBatisGenerator.generate(null);  
  26.   
  27.     }   
  28.     public static void main(String[] args) throws Exception {  
  29.         try {  
  30.             GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();  
  31.             generatorSqlmap.generator();  
  32.         } catch (Exception e) {  
  33.             e.printStackTrace();  
  34.         }  
  35.           
  36.     }  
  37.   
  38. }  

目录结构

猜你喜欢

转载自blog.csdn.net/qq_37928350/article/details/79388447
MBG