编写Mybatis的自动生成器mybatis-generator
2018-01-25 14:50
211 查看
参照mybatis的官方文档编写一个XML文件(mybatis-generator.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>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 配置数据库连接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/ghxt"
userId="root"
password="root">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 指定javaBean生成的指定位置 -->
<javaModelGenerator
targetPackage="com.ghxt.qt.domain"
targetProject="E:\job\generatorCode">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 指定sql映射文件生成的位置 -->
<sqlMapGenerator
targetPackage="mapper"
targetProject="E:\job\generatorCode">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 指定dao接口生成的位置 mapper接口 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.ghxt.qt.mapper"
targetProject="E:\job\generatorCode">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- table指定每个表的生成策略 -->
<table tableName="tbl_emp" domainObjectName="Employee"
enableCountByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false"
selectByExampleQueryId="false">
</table>
<table tableName="tbl_dept" domainObjectName="Department"
enableCountByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false"
selectByExampleQueryId="false" >
</table>
</context>
</generatorConfiguration>编写生成器MybatisGeneratorTest.java
package com.ghxt.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
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;
public class MybatisGeneratorTest {
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("mybatis-generator.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);
}
}
注意:要把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>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 配置数据库连接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/ghxt"
userId="root"
password="root">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 指定javaBean生成的指定位置 -->
<javaModelGenerator
targetPackage="com.ghxt.qt.domain"
targetProject="E:\job\generatorCode">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 指定sql映射文件生成的位置 -->
<sqlMapGenerator
targetPackage="mapper"
targetProject="E:\job\generatorCode">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 指定dao接口生成的位置 mapper接口 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.ghxt.qt.mapper"
targetProject="E:\job\generatorCode">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- table指定每个表的生成策略 -->
<table tableName="tbl_emp" domainObjectName="Employee"
enableCountByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false"
selectByExampleQueryId="false">
</table>
<table tableName="tbl_dept" domainObjectName="Department"
enableCountByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false"
selectByExampleQueryId="false" >
</table>
</context>
</generatorConfiguration>编写生成器MybatisGeneratorTest.java
package com.ghxt.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
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;
public class MybatisGeneratorTest {
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("mybatis-generator.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);
}
}
注意:要把XML文件放在项目下面
相关文章推荐
- mybatis自动生成器(mybatis.generator)使用
- mybatis-generator自动生成器插件使用详解
- mybatis-generatorConfig.xml 文件编写自动生成MAPPER文件
- mybatis-generator-core自动生成do、mapping、dao 代码
- generator自动生成mybatis配置和类信息
- 使用Mybatis-Generator自动生成Model、Mapper相关文件
- Mybatis插件使用-数据库CRUD生成器与代码自动提示检查
- 利用mybatis-generator自动生成代码
- 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
- Intellij IDEA 中使用MyBatis-generator 自动生成MyBatis代
- Intellij IDEA 中使用MyBatis-generator 自动生成MyBatis代码
- generator自动生成mybatis配置和类信息
- mybatis-generator 代码自动生成工具
- Mybatis使用generator自动生成映射配置文件信息
- 利用mybatis-generator自动生成代码
- maven插件mybatis-generator自动生成
- mybatis-generator代码自动生成
- 使用MyBatis Generator自动生成实体、mapper和dao层
- 利用Mybatis-Generator自动生成Dao、Model、Mapping等文件
- springboot(四) 用mybatis-generator自动生成bean和dao