一、引言
官网文档:http://www.mybatis.org/generator/index.html
通过使用官方提供的mapper自动生成工具,mybatis-generator-core-1.3.2来自动生成po类和mapper映射文件。
作用:mybatis官方提供逆向工程,可以使用它通过数据库中的表来自动生成Mapper接口和映射文件(单表增删改查)和Po类.
1.需要导入的jar包
2.mapper生成配置文件
需要在generatorConfig.xml 中配置mapper生成的详细信息,主要需要修改的几个点:
1)添加要生成的数据库表
2)po文件所在的包的路径
3)mapper文所在包的路径
generatorConfig.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="MybatisGenerator" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 --><property name="supressAllComments" value="true" /></commentGenerator><!-- 数据库连接信息:驱动类、连接地址、用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/springmvc?serverTimezone=UTC"userId="root" password="950806"></jdbcConnection><!-- 默认值 --><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- 生成的po实体类的存放位置 --><javaModelGenerator targetPackage="po"targetProject=".\src"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!-- 生成的mapper映射文件(XML文件)的存放位置 --><sqlMapGenerator targetPackage="mapper"targetProject=".\src"><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成的mapper接口(JAVA文件)的存放位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="mapper" targetProject=".\src"><property name="enableSubPackages" value="false" /></javaClientGenerator><!-- 指定数据库表 --><table tableName="items" /><table tableName="users" /></context> </generatorConfiguration>
3.配置完后,编写java类生成mapper文件
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 MyGenerator {public void generate() throws Exception {List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("GeneratorConfig.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);}public static void main(String[] args) throws Exception {MyGenerator myGenerator = new MyGenerator();myGenerator.generate();}}
4.执行java程序,自动对数据库中的表数据生成相应的mapper映射文件和po文件
刷新包结构:生成了需要的po文件和mapper映射文件