maven插件生成
<build><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version></dependency></dependencies><executions><execution><id>Generate MyBatis Artifacts</id><goals><goal>generate</goal></goals></execution></executions><configuration><!-- 输出详细信息 --><verbose>true</verbose><!-- 覆盖生成文件 --><overwrite>true</overwrite><!-- 定义配置文件 --><configurationFile>${basedir}/src/main/resources/generator-configuration.xml</configurationFile></configuration></plugin></plugins></build>
<?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><context id="testTables" targetRuntime="MyBatis3"><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><property name="javaFileEncoding" value="UTF-8"/><!-- 生成注释配置 --><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true"/><property name="javaFileEncoding" value="UTF8"/><!--生成的注释包含时间戳(避免重复提交SVN,设为true)--><property name="suppressDate" value="true"/></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"connectionURL="jdbc:oracle:thin:@150.16.17.22:1521/wsbs" userId="hr"password="hr123"></jdbcConnection>--><jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/fzs?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC"userId="root"password="123456"></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- targetProject:生成PO类的位置 --><javaModelGenerator targetPackage="com.hikktn.domain"targetProject="src\main\java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaModelGenerator><!-- targetProject:mapper.xml映射文件生成的位置 --><sqlMapGenerator targetPackage="mapper"targetProject="src\main\resources"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></sqlMapGenerator><!-- targetPackage:mapper.java接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.hikktn.dao"targetProject="src\main\java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></javaClientGenerator><!-- 指定数据库表 --><!-- enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"enableSelectByExample="false" selectByExampleQueryId="false"--><!--不生成example--><!--<table tableName="items"></table> --><table schema="distribute" tableName="distribute_lock" domainObjectName="DistributeLock"enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"enableSelectByExample="false" selectByExampleQueryId="false"><!--下划线转驼峰命名--><property name="useActualColumnNames" value="false"/><!--指定自动生成主键的属性--><generatedKey column="id" sqlStatement="MySql" identity="true"></generatedKey><!--元素从将某些属性默认计算的值更改为指定的值。--><!--<columnOverride column="message_content" javaType="List<Teacher>"></columnOverride >--><!--忽略字段--><!--<ignoreColumn column="file_id"></ignoreColumn>--><!--<ignoreColumn column="lyric_id"></ignoreColumn>--></table></context></generatorConfiguration>
测试类生成
<!--自动生成bean--><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.6</version></dependency>
生成类
package org.lanqiao.test;import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration;import org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.internal.DefaultShellCallback;import java.io.File;import java.util.ArrayList;import java.util.List;/*** @ClassName TestGenerator* @Description TODO* @Author lisonglin* @Date 2018/12/5 17:00* @Version 1.0*/public class TestGenerator {/**** 功能描述:* 调用generatorConfig.xml* @param: []* @return: void* @auther: 李松林* @date: 2018/12/8 19:50*/public void generator(){List<String> warnings=new ArrayList<String>();//更新数据库时,请修改项目的xml配置绝对路径File file=new File("E:\\MyJAVA\\SpringMakeup\\src\\main\\conf\\generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = null;try {config = cp.parseConfiguration(file);DefaultShellCallback shellCallback = new DefaultShellCallback(true);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, shellCallback, warnings);myBatisGenerator.generate(null);System.out.println(warnings);} catch (Exception e) {e.printStackTrace();}}/**** @param args* @throws Exception*/public static void main(String[] args) throws Exception {try {TestGenerator generatorSqlmap = new TestGenerator();generatorSqlmap.generator();} catch (Exception e) {e.printStackTrace();}}}
生成配置
<?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><context id="testTables" targetRuntime="MyBatis3" defaultModelType="flat"><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><property name="javaFileEncoding" value="UTF-8"/><!-- 生成注释配置 --><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true"/><property name="javaFileEncoding" value="UTF8"/><!--生成的注释包含时间戳(避免重复提交SVN,设为true)--><property name="suppressDate" value="true"/></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"connectionURL="jdbc:oracle:thin:@150.16.17.22:1521/wsbs" userId="hr"password="hr123"></jdbcConnection>--><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/sys?useUnicode=true&characterEncoding=utf8&useSSL=false"userId="root"password="123"></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- targetProject:生成PO类的位置 --><javaModelGenerator targetPackage="org.lanqiao.model"targetProject="E:/MyJAVA/SpringMakeup/src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaModelGenerator><!-- targetProject:mapper.xml映射文件生成的位置 --><sqlMapGenerator targetPackage="org.lanqiao.mapper"targetProject="E:/MyJAVA/SpringMakeup/src/main/conf"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></sqlMapGenerator><!-- targetPackage:mapper.java接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="org.lanqiao.mapper"targetProject="E:/MyJAVA/SpringMakeup/src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></javaClientGenerator><!-- 指定数据库表 --><!-- enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"enableSelectByExample="false" selectByExampleQueryId="false"--><!--不生成example--><!--<table tableName="items"></table> --><table tableName="hobbys" mapperName="HobbysMapper" domainObjectName="Hobbys"enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"enableSelectByExample="false" selectByExampleQueryId="false"><!--下划线转驼峰命名--><property name="useActualColumnNames" value="false"/><!--指定自动生成主键的属性--><generatedKey column="id" sqlStatement="MySql" identity="true"></generatedKey><!--元素从将某些属性默认计算的值更改为指定的值。--><!--<columnOverride column="message_content" javaType="List<Teacher>"></columnOverride >--><!--忽略字段--><!--<ignoreColumn column="file_id"></ignoreColumn>--><!--<ignoreColumn column="lyric_id"></ignoreColumn>--></table></context></generatorConfiguration>
