generator-plugin插件使用
- 1、数据库创建
- 2、项目创建:创建maven项目+添加插件+创建文件夹
- 3、创建配置文件配置
- 4、创建mybatis配置文件
- 5、数据测试
一、数据库表创建
create table mybatis_plugin(
plugin_id int(3) auto_increment not null primary key,
plugin_name varchar(200),
plugin_address varchar(200),
plugin_title varchar(200)
)
二、项目创建与maven配置
2.1、创建maven项目
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
<!--基础包-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
</dependency>
</dependencies>
2.2、maven中添加创建配置
<build>
<plugins>
<!-- mybatis逆向工程 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
- configurationFile:指定generatorConfig.xml配置文件地址
三、配置文件配置
3.1、mybatis配置文件配置
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8" />
</dataSource>
</environment>
</environments>
<mappers>
</mappers>
</configuration>
- mapper配置文件需要在自动生成mapper配置文件后添加
3.2、插件配置文件配置
<?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>
<classPathEntry location="/Users/shundaye/code_work/code_maven/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar" />
<context id="context1" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 去除自动生成的注释 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库连接配置 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="123456"/>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="com.demo.plugin.bean"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.demo.plugin.mapper"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="mybatis_plugin" schema=""/>
</context>
</generatorConfiguration>
- 在resource文件夹下创建mapper文件夹(用于存放mapper配置文件)
四、通过插件自动生成代码
- 在右侧栏目:Maven Projects
- 打开项目下:Plugins—mybatis-generator
- 代码生成:双击 mybatis-generator:generate
- 查看生成的代码:运行一次会生成一次代码,多次运行代码不会覆盖
五、数据测试
public SqlSession getSession() {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
return factory.openSession();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
@Test
public void insert(){
SqlSession session = getSession();
MybatisPluginMapper mapper = session.getMapper(MybatisPluginMapper.class);
MybatisPlugin plugin = new MybatisPlugin();
plugin.setPluginAddress("address data from plugin");
plugin.setPluginTitle("title data from plugin");
plugin.setPluginName("name data from plugin");
mapper.insert(plugin);
session.commit();
}
@Test
public void select(){
SqlSession session = getSession();
MybatisPluginMapper mapper = session.getMapper(MybatisPluginMapper.class);
MybatisPlugin plugin = mapper.selectByPrimaryKey(2);
System.out.println(plugin);
}
代码地址
https://github.com/brusion/brusion-code/tree/master/demo-java/04%20-%20demo%20-%20mybatis/mybatis-05