mybatisgenerator集成springBoot,并常见使用教程(详)
Posted 栗子~~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatisgenerator集成springBoot,并常见使用教程(详)相关的知识,希望对你有一定的参考价值。
文章目录
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
mybatisgenerator集成springBoot,并常见使用教程(详)
最近有点累,不想多说了,直接上程序吧。
01 依赖配置
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<configurationFile>
<!--配置文件地址-->
$basedir/src/main/resources/GeneratorConfig.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
02 GeneratorConfig.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>
<classPathEntry location="E:/apache-maven-3.6.0/maven/mysql/mysql-connector-java/8.0.21/mysql-connector-java-8.0.21.jar"/>
<context id="context" targetRuntime="Mybatis3">
<plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">
<property name="searchString" value="Example$" />
<property name="replaceString" value="Query" />
</plugin>
<!-- JavaBean 实现 序列化 接口 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<!-- genenat entity时,生成toString -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
<commentGenerator>
<!-- 是否除去自动生成的注释 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库连接信息-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/TESTDB?serverTimezone=UTC"
userId="TESTDB" password="TESTDB">
<!-- 设置为只生成当前数据库的表信息 -->
<property name="nullCatalogMeansCurrent" value="true" />
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成实体包名和位置-->
<javaModelGenerator targetPackage="com.example.demo.yzy.dao" targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--生成的映射文件位置-->
<sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成dao包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.yzy.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--tableName 表或视图名, domainObjectName 实体类名 enable* 是否生成增删改查方法-->
<!--
enableDeleteByExample="false" enableSelectByPrimaryKey="false"
enableSelectByExample="false" enableUpdateByExample="false"
enableCountByExample="false" enableDeleteByPrimaryKey="false" enableUpdateByPrimaryKey="false"
-->
<table tableName="person" domainObjectName="Person">
<!-- <property name="useActualColumnNames" value="true"/>-->
<!--解决长文本生成带WithBLOBs问题-->
<!-- <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->
</table>
</context>
</generatorConfiguration>
03 yml 配置
mybatis-plus:
global-config:
db-config:
#逻辑已删除值
logic-delete-value: 1
#逻辑未删除值
logic-not-delete-value: 0
sql-parser-cache: true # 是否缓存 Sql 解析,默认不缓存
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
type-enums-package: com.example.demo.yzy.*
mapper-locations: classpath*:mapping/*Mapper.xml #MyBatis Mapper 所对应的 XML 文件位置
04 java config 配置
/**
* @description: TODO
* @author 杨镇宇
* @date 2022/3/24 13:56
* @version 1.0
*/
@Configuration
@MapperScan("com.example.demo.yzy.mapper")
public class MybatisConfig
注:com.example.demo.yzy.mapper,是你扫描mapper的路径。
05 点击生成
生成的表结构:
点击生成:
注:点击两次后,除了java文件会重新生成外,xml文件不会重新生成,会在原文件基础上累加内容,因此重新生成文件时,首先要将xml文件删除。
生成的文件
06 常用使用
06::01 新增
Person person = new Person();
mapper.insertSelective(person);
06::02 修改 根据age修改
Person person = new Person();
PersonQuery personQuery = new PersonQuery();
PersonQuery.Criteria criteria = personQuery.createCriteria();
criteria.andAgeEqualTo(vo.getAge());
mapper.updateByExampleSelective(person,personQuery);
06::03 修改 根据主键修改
Person person = new Person();
mapper.updateByPrimaryKey(person);
06::04 根据查询条件查询
PersonQuery personQuery = new PersonQuery();
PersonQuery.Criteria criteria = personQuery.createCriteria();
if (StringUtils.isNotBlank(vo.getName()))
criteria.andNameEqualTo(vo.getName());
if (null != vo.getId())
criteria.andIdEqualTo(vo.getId());
if (null != vo.getAge())
criteria.andAgeEqualTo(vo.getAge());
mapper.selectByExample(personQuery);
06::05 删除
mapper.deleteByPrimaryKey(vo.getId());
06::06 根据name删除
PersonQuery personQuery = new PersonQuery();
PersonQuery.Criteria criteria = personQuery.createCriteria();
criteria.andNameEqualTo(vo.getName());
mapper.deleteByExample(personQuery);
以上是关于mybatisgenerator集成springBoot,并常见使用教程(详)的主要内容,如果未能解决你的问题,请参考以下文章
MyBatisGenerator 集成DM8 快速生成entity,mapper接口和*.mapper.xml