spring boot配置mybatis-plus
一、maven配置
<mybatis-plus.version>3.2.0</mybatis-plus.version>
<mysql-connector.version>8.0.13</mysql-connector.version>
<druid-spring-boot.version>1.1.22</druid-spring-boot.version>
<lombok.version>1.16.18</lombok.version>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid-spring-boot.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
二、修改配置文件
application.yml
# 打印Mysql查询日志
logging:
level:
com.baijia.umetric.dao.mapper: debug
# mybatis插件打印日志,打印查询结果
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
spring:
main:
allow-bean-definition-overriding: true
# 延迟加载
jpa:
open-in-view: false
jdbc.properties
db-metric.datasource.name=metric-db
db-metric.datasource.type=com.alibaba.druid.pool.DruidDataSource
db-metric.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
db-metric.datasource.url=jdbc:mysql://ip地址:3306/measures_dict?\
allowMultiQueries=true&useUnicode=true&characterEncoding=UTF8&autoReconnect=true&zeroDateTimeBehavior=convertToNull
db-metric.datasource.username=root
db-metric.datasource.password=root
#最大连接池数量
db-metric.datasource.max-active=200
#获取连接时最大等待时间,单位毫秒.配置之后,缺省启用公平锁,并发效率会有所下降
db-metric.datasource.max-wait=10000
#初始化时建立物理连接的个数
db-metric.datasource.initial-size=10
# 用来检测连接是否有效的sql,要求是一个查询语句
db-metric.datasource.validation-query=SELECT 1
#申请连接时执行validationQuery检测连接是否有效,配置会降低性能
db-metric.datasource.test-on-borrow=false
#归还连接时执行validationQuery检测连接是否有效,配置会降低性能
db-metric.datasource.test-while-idle=true
#Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接
db-metric.datasource.time-between-eviction-runs-millis=18800
java的config目录新增MetricDbConfig.java
package com.baijia.umetric.config;
import javax.sql.DataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.PropertySource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import lombok.extern.slf4j.Slf4j;
@Configuration
@Slf4j
@PropertySource("classpath:jdbc.properties")
@MapperScan("com.baijia.umetric.dao.mapper")
public class MetricDbConfig {
@Primary
@Bean
@ConfigurationProperties(prefix = "db-metric.datasource")
public DataSource dataSource() {
log.info("-------------------- metric DataSource init ---------------------");
return DruidDataSourceBuilder.create().build();
}
}
新增分页插件配置 MybatisPlusConfig.java
package com.baijia.umetric.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
三、使用
MetricDTO.java
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@TableName("metrices")
@Data
public class MetricDTO {
//主键
@TableId(type = IdType.AUTO)
private Integer id;
//精度,保留小数点位数
@TableField("`precision`")
private Integer precision;
}
MetricMapper.java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface MetricMapper extends BaseMapper<MetricDTO> {
}
Service层使用
LambdaQueryWrapper<MetricDTO> userQueryWrapper = Wrappers.lambdaQuery();
userQueryWrapper.like(MetricDTO::getNameCn,"test");
Page<MetricDTO> page= new Page<>(1, 1);
metricMapper.selectPage(page, userQueryWrapper);
spring boot配置mybatis-plus的更多相关文章
- spring boot配置mybatis和事务管理
spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spri ...
- Spring boot 配置 mybatis xml和动态SQL 分页配置
更新时间 2018年4月30日23:27:07 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> & ...
- spring boot系列(六)spring boot 配置mybatis(xml简化版)
orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句SQL的hibernate,一个是可以灵活调试动态sql的mybatis,两者各有特点,在企业级系统开 ...
- Spring Boot配置Mybatis
在pom里加了mybatis的依赖后,在application.properties加上: mybatis.config-location=classpath:mybatis-config.xml m ...
- spring boot 配置mybatis plus 控制台打印sql
spring boot 版本2.1.5 mybatis plus 版本3.1.1 aplication.properties中添加 logging.level.com.demo.system.mapp ...
- spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务
文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...
- spring boot集成mybatis(3) - mybatis generator 配置
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- 太妙了!Spring boot 整合 Mybatis Druid,还能配置监控?
Spring boot 整合 Mybatis Druid并配置监控 添加依赖 <!--druid--> <dependency> <groupId>com.alib ...
- Spring Boot 整合 Mybatis 实现 Druid 多数据源详解
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “清醒时做事,糊涂时跑步,大怒时睡觉,独处时思考” 本文提纲一.多数据源的应用场景二.运行 sp ...
- 使用intelliJ创建 spring boot + gradle + mybatis站点
Spring boot作为快速入门是不错的选择,现在似乎没有看到大家写过spring boot + gradle + mybatis在intellij下的入门文章,碰巧.Net同事问到,我想我也可以写 ...
随机推荐
- Echarts 图例组件
1.图例组件的基本介绍 图例组件legend展现了不同系列的标记(symbol),颜色和名字.可以通过点击图例控制哪些系列不显示. 2.开启图例组件 开启图例组件默认时关闭状态,通过配置legend字 ...
- Consul 学习总结
什么是Consul? Consul是一种服务网络解决方案,使团队能够管理服务之间以及跨本地和多云环境和运行时的安全网络连接.Consul提供服务发现.服务网格(service mesh).流量管理和网 ...
- 【COS 加码福利】COS 用户实践有奖征文,等你来投稿!
COS用户实践征文活动火热进行中,本次征集主题为:如何在生态场景下使用 COS? 优质文章将有机会被编入腾讯云官方文档库,供广大用户学习参考.更有多重好礼等你来拿,速来围观投稿吧! 投稿说明: 1.投 ...
- MAC清理
今日分享 Mac清理 有很多三方软件可以清理,以前用过腾讯的柠檬lite,每次就清个几百兆,系统数据感觉还是得自己手动清理才行 今天电脑又在提醒储存空间不足了,一看占用发现系统数据占了100多个G,学 ...
- shell 下 exec,source,.,bash和sh以及export得区别
exec执行命令时,不会启用新的shell进程. source和 .也不会启用新的shell进程,在当前shell中执行,设定的局部变量在执行完命令后仍然有效. bash或sh执行时,会另起一个子 ...
- Qt编写地图综合应用41-在线轮廓图
一.前言 轮廓图也叫行政区划,这里的轮廓图是指百度地图的区域轮廓图,不是之前文章中提到的echart专用的轮廓图,百度地图的轮廓图就是一个不规则的多边形区域,只不过这个区域的坐标点一般是特别多的,比如 ...
- Qt音视频开发3-vlc录像存储
一.前言 录像功能是视频监控系统的常用功能,就是将打开的视频流或者视频文件重新保存成MP4文件,当然也可以保存成其他格式,一般默认用MP4比较好,比较标准一些,MP4格式的兼容性最好,基本上没有说那台 ...
- Llama3.1 是怎么工作哒?原文翻译版😘
了解Llama3.1如何工作--深入探讨模型流程 原文标题:Understand How Llama3.1 Works - A Deep Dive Into the Model Flow 原作者:Xi ...
- Win10离线安装.NET Framework 3.5的方法技巧
Win10离线安装.NET Framework 3.5的方法技巧 PC系统为win10,在使用过程中,曾遇到提示说 "你的电脑上的应用需要使用以下Windows功能:.NET Framewo ...
- 第三方JavaScript库有时会附带*.map文件的所用
第三方JavaScript库有时会附带*.map文件的所用:起到对源***.js文件进行源码转换和压缩的作用. 详见参考链接:JavaScript Source Map 详解