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同事问到,我想我也可以写 ...
随机推荐
- 前端项目部署之pushstate-server
pushstate-server 内部的原理是通过 connect 服务器,开启一个端口,将 dist/index.html 文件作为静态模板输出 这种方式可以将本地的项目打包成静态文件,以服务的方式 ...
- golang工具之generate
示例: 大家经常碰到命名错误码.状态码的同时,又要同步写码对应的翻译,有没有感觉很无聊.这里举一个例子: package main import "fmt" // 定义错误 ...
- python下的多线程与多进程
多进程: 进程我们可以理解为是一个可以独立运行的程序单位,比如打开一个浏览器,这就开启了一个浏览器进程:打开一个文本编辑器,这就开启了一个文本编辑器进程.但一个进程中是可以同时处理很多事情的,比如在浏 ...
- Linux C/C++编程之静态库
[图书推荐]<Linux C与C++一线开发实践(第2版)>_linux c与c++一线开发实践pdf-CSDN博客 <Linux C与C++一线开发实践(第2版)(Linux技术丛 ...
- Git 浅克隆后拉取其他分支
对于已浅克隆的项目 $ git clone --depth=1 <git-repo-url> repo $ cd repo 现在浅克隆了一个Git仓库repo.但仓库里查询远程分支只有一个 ...
- 使用Maps SDK添加本地slpk
SceneView m_sceneView; public void LoadSceneLayerFromSLPK(SceneView sceneView, string slpkPath) { if ...
- 技术实践|Redis基础知识及集群搭建(上)
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.本篇文章围绕Redis基础知识及集群搭建相关内容进行了分享 ...
- Redis-十大数据类型
Reids数据类型指的是value的类型,key都是字符串 redis-server:启动redis服务 redis-cli:进入redis交互式终端 常用的key的操作 redis的命令和参数不区分 ...
- 操作系统messages文件位置更改
问题现象 在遇到一个问题的时候需要查看操作系统的日志,但是到操作系统上的 /var/log/messages 文件中发现该文件已经很久没有刷新过了. 这个系统之前是做过安全加固的,我怀疑它改过操作系统 ...
- Qt音视频开发49-通用截图截屏
一.前言 采用了回调方式的视频通道,截图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_ta ...