spring boot + mybatis plus
程序员文章站
2022-07-15 10:16:53
...
1、加入依赖:
<!-- mybatisplus与springboot整合 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>1.0.5</version>
</dependency>
<!-- MP 核心库 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.1.8</version>
</dependency>
2、mybatis配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<plugins>
<plugin interceptor="com.baomidou.mybatisplus.plugins.PaginationInterceptor">
<property name="dialectType" value="mysql"/>
</plugin>
<!--<plugin interceptor="com.qihai.base.config.QueryExecutorInterceptor"></plugin>-->
</plugins>
</configuration>
3、增加mybatis配置:
mybatis-plus.mapper-locations=classpath*:mybatis/mapper/*/*Mapper.xml mybatis-plus.type-aliases-package=com.wang.springboot01.entity mybatis-plus.global-config.id-type=0 mybatis-plus.global-config.field-strategy=2 mybatis-plus.global-config.db-column-underline=true mybatis-plus.global-config.refresh-mapper=true mybatis-plus.global-config.logic-delete-value=0 mybatis-plus.global-config.logic-not-delete-value=1 mybatis-plus.global-config.sql-injector=com.baomidou.mybatisplus.mapper.LogicSqlInjector mybatis-plus.configuration.map-underscore-to-camel-case=true mybatis-plus.configuration.cache-enabled=false
4、java配置文件:
package com.wang.springboot01.config;
import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.plugins.PerformanceInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* @author: WANGJINHUI
* @date: 2019-04-20
* @desc:
*/
@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor page = new PaginationInterceptor();
page.setDialectType("mysql");
return page;
}
/**
*
* <p>
* Description: plus 的性能优化 设置 dev test 环境开启
* </p>
* <p>
* Copyright: Copyright (c) 2018
* </p>
*
* @author [email protected]
* @Date 11:50 2018/11/24
* @return
*/
@Bean
@Profile({ "dev", "test" })
public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
performanceInterceptor.setMaxTime(1000000);
performanceInterceptor.setFormat(true);
return performanceInterceptor;
}
}
5、数据连接时,用mybatis plus的 MybatisSqlSessionFactoryBean 替换掉mybatis的 SqlSessionFactoryBean
6、mapper接口文件要继承 mybatis plus的BaseMapper
7、service的接口实现类要继承mybatis plus的BaseService
8、数据库对应的entity中,如果实体类名与表明自动解析后无法对应上,则需要@TableName("表名")来指定是哪张表,字段属性可以用@TableField("字段名")来指定,主键必须用@TableId来指定是主键,以上的表名、字段名只要按照数据库表名、字段名的驼峰命名法来建实体类就不用单独用@TableName和@TableField来指定名称。
转载于:https://my.oschina.net/u/3308528/blog/3039575