mybatis generator
MyBatis Generator 是 MyBatis 提供的一个代码生成工具。可以帮我们生成 表对应的持久化对象(po)、操作数据库的接口(dao)、CRUD sql的xml(mapper)。
MyBatis Generator 是一个独立工具,你可以下载它的jar包来运行、也可以在 Ant 和 maven 运行。
引入相关依赖
- mybatis 依赖和代码生成器插件
<!-- 为了方便,不展示其它配置... -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
mybatis 相关依赖
- 代码生成器插件
<build>
<plugins>
<!--引入generator插件-->
<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.25</version>
</dependency>
</dependencies>
<configuration>
<!--允许移动生成的文件-->
<verbose>true</verbose>
<!--允许自动覆盖文件,第一次可覆盖,以后都不可覆盖-->
<overwrite>true</overwrite>
<!-- 自定义配置文件的名称 默认是generatorConfig.xml -->
<configurationFile>
src/main/resources/mybatis-generator-config.xml
</configurationFile>
</configuration>
</plugin>
</plugins>
</build>
代码生成器
配置生成器 xml 信息 mybatis-generator-config
<?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>
<!--数据库驱动-->
<!--
如果IDE(eclipse或者idea) 项目里导入了jar包,那么就不需要配置了jar包的绝对路径了
<classPathEntry location="e:/project/mybatis/lib/mysql-connector-java-5.0.8-bin.jar"/>
-->
<context id="Mysql" targetRuntime="MyBatis3">
<!-- 生成 toString-->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
<!--生成mapper.xml时覆盖原文件-->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--数据库链接地址账号密码-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://192.168.30.129:3306/stu?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC"
userId="root" password="root">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成Model类存放位置-->
<javaModelGenerator targetPackage="com.ayi.dao.entity" targetProject="src\main\java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成映射文件存放位置-->
<sqlMapGenerator targetPackage="mapper" targetProject="src\main\resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成Dao类存放位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.ayi.dao.mapper" targetProject="src\main\java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--生成对应表及类名-->
<table tableName="wallet" domainObjectName="Wallet">
<!-- 这里可以配置相关的 BaseTypeHandler 类型转换器 -->
<columnOverride column="balance" javaType="org.joda.money.Money" jdbcType="BIGINT"
typeHandler="com.ayi.handler.MoneyTypeHandler"/>
</table>
</context>
</generatorConfiguration>
启动相关插件
2、生成的相关类
测试
@SpringBootTest
@RunWith(SpringRunner.class)
public class JoaMoneyApplicationTest {
@Resource
private WalletMapper walletMapper;
@Test
public void test() {
Wallet wallet = new Wallet();
Money cny = Money.ofMinor(CurrencyUnit.of("CNY"), 1000);
wallet.setBalance(cny);
wallet.setHolder("ayizzz");
WalletExample walletExample = new WalletExample();
walletExample.createCriteria().andIdEqualTo(1L);
List<Wallet> wallets = walletMapper.selectByExample(walletExample);
wallets.forEach(System.out::println);
}
}
标签:xml,代码生成,插件,generator,mysql,mybatis,属性
From: https://www.cnblogs.com/ayizzz/p/17464242.html