官方文档地址:http://www.mybatis.org/generator/
官方工程地址:http://github.com/mybatis/generator/releases
一、MyBatis Generator使用步骤
第一步:编写MBG的配置文件(重要几处配置)
-
- jdbcConnection配置数据库连接信息
- avaModelGenerator配置javaBean的生成策略
- sqlMapGenerator 配置sql映射文件生成策略
- javaClientGenerator配置Mapper接口的生成策略
- table 配置要逆向解析的数据表
- tableName:表名
- domainObjectName: 对应的javaBean名
第二步:运行代码生成器生成代码
二、案例
- 添加依赖
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version> </dependency>
- 编写MBG的配置文件
<?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> <!--targetRuntime="MyBatis3Simple":生成简单版的CRUD--> <context id="DB2Tables" targetRuntime="MyBatis3"> <!--【一】、数据库连接信息配置--> <!-- jdbcConnection:指定如何连接到目标数据库 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql:///mybatisdb?serverTimezone=UTC" userId="root" password="root"> </jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!--【二】、javaBean的生成策略--> <!-- javaModelGenerator:指定javaBean的生成策略 targetPackage="test.model":目标包名 targetProject="MBGTestProjectsrc":目标工程 --> <javaModelGenerator targetPackage="com.jdy.mbg.bean" targetProject=".src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--【三】、映射文件的生成策略--> <!-- sqlMapGenerator:sql映射生成策略: --> <sqlMapGenerator targetPackage="com.jdy.mbg.dao" targetProject=".src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!--【四】、dao接口java文件的生成策略--> <!-- javaClientGenerator:指定mapper接口所在的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.jdy.mbg.dao" targetProject=".src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!--【五】、数据表与javaBean的映射--> <!-- 指定要逆向分析哪些表:根据表要创建javaBean --> <table tableName="items" domainObjectName="Item"></table> </context> </generatorConfiguration>
- 运行代码生成器生成代码
public class MGBTest { public static void main(String[] args) throws Exception { List<String> warnings = new ArrayList<String>(); File configFile = new File("src/main/java/com/jdy/mybatis2020/mbg/mbg.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(true); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } }
Context标签
-
- targetRuntime=“MyBatis3“可以生成带条件的增删改查
- targetRuntime=“MyBatis3Simple“可以生成基本的增删改查
如果再次生成,建议将之前生成的数据删除,避免xml向后追加内容出现的问 题。