【tower-boot 系列】MybatisPlus 集成

Mybatis、MybatisPlus 简单介绍

mybatis 介绍
mybatiss plus 介绍

MybatisPlus 集成

一、pom 依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><exclusions><exclusion><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId></exclusion></exclusions></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.11</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version></dependency>

一、yml配置

spring.datasource p配置

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://${spring.datasource.ip}:${spring.datasource.port}/${spring.datasource.database}?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&autoReconnect=trueip: 127.0.0.1port: 3306database: demousername: 123456password: 123456# 连接池的配置信息druid:# 初始化大小,最小,最大initial-size: 2min-idle: 1maxActive: 5# 配置获取连接等待超时的时间maxWait: 60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis: 600000# 配置一个连接在池中最大生存的时间,单位是毫秒maxEvictableIdleTimeMillis: 900000connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;druid.mysql.usePingMethod=false

mybatis-plus 配置

mybatis-plus:#扫mapper包路径类似做到 @MapperScan("com.hxl.starter.mapper")base-package: com.hxl.starter.mapper.**mapper-locations: classpath:mapping/*.xmlconfiguration:#开启自动驼峰命名规则(camel case)映射map-underscore-to-camel-case: true#延迟加载,需要和lazy-loading-enabled一起使用aggressive-lazy-loading: truelazy-loading-enabled: true#关闭一级缓存local-cache-scope: statement#关闭二级级缓存cache-enabled: false

二、mapper、service、po 写法示例

UserMapper

public interface UserMapper extends BaseMapper<UserPo> {}

service

public interface UserService extends IService<UserPo> {Long getUserId();
}

ServiceImpl

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, UserPo> implements UserService {@Overridepublic Long getUserId() {LambdaQueryWrapper<UserPo> wrapper = Wrappers.lambdaQuery();List<UserPo> list = list(wrapper);return CollectionUtil.isNotEmpty(list) ? list.get(0).getId() : 0L;}
}

po 支持注解

@Getter
@Setter
@ToString(callSuper = true)
@TableName("user")
public class UserPo {/*** id*/@TableId("id")private Integer id;/*** 账号*/@TableField("user_name")private String userName;/*** 密码*/@TableField("pass_word")private String passWord;}

github 地址:

https://github.com/sanxiaoshitou/tower-boot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker-compose命令

&#xff08;1&#xff09;定义 compose是用于定义和运行多容器docker应用程序的工具。 通过compose&#xff0c;使用yml文件来配置应用程序需要的所有服务。然后&#xff0c;使用一个命令&#xff0c;就可以从yml文件配置中创建并启动所有服务。 &#xff08;2&#xff09;模板…

将Linux 标准输出,错误输出重定向到文件

将Linux 标准输出&#xff0c;错误输出重定 1.想要把make输出的全部信息&#xff0c;输出到某个文件中&#xff0c;最常见的办法就是&#xff1a; make xxx > build_output.txt 此时默认情况是没有改变2stderr的输出方式&#xff0c;还是屏幕&#xff0c;所以&#xff0c…

opencv学习一:namedWindow()创建和显示窗口

文章目录 opencv图像视频的加载和显示一、namedWindow()创建和显示窗口&#xff08;一&#xff09;函数1.namedWindow()创建命名窗口2.imshow() 显示窗口3.destroyAllwindws()摧毁窗口4.resizeWindow() 改变窗口大小5.waitKey() 等待用户输入 &#xff08;二&#xff09;代码 o…

python简单进阶之web框架:fastapi使用教程

原文&#xff1a;python简单进阶之web框架&#xff1a;fastapi使用教程 - 知乎 这是简单进阶教程系列第四篇&#xff0c;本系列文章主要介绍那些可以很快上手的进阶库。 我其实学过一段时间Django框架&#xff0c;但是半途而废了&#xff0c;我觉得可能还是简单一点的框架比较适…

智能优化算法应用:基于象群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于象群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于象群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.象群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

JavaScript 一只青蛙想要过河

一只青蛙想要过河。 假定河流被等分为若干个单元格&#xff0c;并且在每一个单元格内都有可能放有一块石子&#xff08;也有可能没有&#xff09;。 青蛙可以跳上石子&#xff0c;但是不可以跳入水中。 给你石子的位置列表 stones&#xff08;用单元格序号 升序 表示&#xf…

什么是堆内存?参数如何设置?

文章目录 什么是堆内存&#xff1f;参数如何设置&#xff1f; 栈和队列&#xff0c;举个使用场景例子&#xff1f; 什么是堆内存&#xff1f;参数如何设置&#xff1f; 堆内存是指由程序代码自由分配的内存&#xff0c;与栈内存作区分。 在 Java 中&#xff0c;堆内存主要用于…

网络类型解析(基础):探索通信世界的多样面貌

在当今数字化时代&#xff0c;网络已经成为人们生活和工作中不可或缺的一部分。从个人设备之间的直接通信到全球范围的数据传输&#xff0c;不同类型的网络为我们提供了多种连接方式和通信选择。透过对这些网络类型的解析&#xff0c;我们将更好地理解它们的特点、优势和适用场…

JMX的使用

1. 定义和意义 JMX是Java Management Extention的缩写&#xff0c;出发点是让外部通过属性/方法来读取或设置程序状态。对于提供对外服务的程序来说&#xff0c;天生就有这样的能力&#xff0c;Web程序通过HTTP接口对外暴露&#xff0c;RPC应用通过RPC接口暴露。不过带来的问…

ESP32-Web-Server编程- 使用表格(Table)实时显示设备信息

ESP32-Web-Server编程- 使用表格&#xff08;Table&#xff09;实时显示设备信息 概述 上节讲述了通过 Server-Sent Events&#xff08;以下简称 SSE&#xff09; 实现在网页实时更新 ESP32 Web 服务器的传感器数据。 本节书接上会&#xff0c;继续使用 SSE 机制在网页实时显…

如何优化 Elasticsearch 以获得更好的搜索性能

当今世界&#xff0c;数据大量生成&#xff0c;为了利用数据进行生产&#xff0c;需要对提取的数据进行转换、存储、维护、管理和分析。这些过程只有通过大数据工具所基于的分布式架构和并行处理机制才能实现。Elasticsearch 是最流行的开源数据存储之一&#xff0c;可以满足大…

邻接表表示图进行深度优先搜索,广度优先搜索,最小生成树

图的邻接表定义 下面用邻接表实现图的深度优先搜索和广度优先搜索&#xff0c;用邻接矩阵来实现最小生成树。 图的邻接表&#xff1a;首先定义一个图的邻接表的类&#xff0c;里面包括图的顶点数&#xff0c;图的边数&#xff0c;顶点表数组。由于顶点表数组里存放的都是图的…

P2880 [USACO07JAN] Balanced Lineup G 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围与提示完整代码 题目描述 For the daily milking, Farmer John’s N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with…

从兔子说起:了解RabbitMQ消息的多样化【RabbitMQ 二】

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 从兔子说起&#xff1a;了解RabbitMQ消息的多样化 第一&#xff1a;消息的可靠性与持久性第二&#xff1a;消息交换机与队列第三&#xff1a;消息确认与拒绝第四&#xff1a;…

深度学习手势识别 - yolo python opencv cnn 机器视觉 计算机竞赛

文章目录 0 前言1 课题背景2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存 5 模型训练5.1 修…

2023年全国职业院校技能大赛“ 信息安全管理与评估” 测试题2

一.单选题 1、下列不属于口令安全威胁的是&#xff1f;&#xff08; &#xff09; A、 弱口令 B、 明文传输 C、 MD5 加密 D、 多账户共用一个密码 2、在学校或单位如果发现自己的计算机感染了病毒,应首先采取什么措施 ( )。 A、断开网络 B、告知领导 C、杀毒 D、重…

C++模板—函数模板、类模板

目录 一、函数模板 1、概念 2、格式 3、实例化 4、模板参数的匹配 二、类模板 1、定义格式 2、实例化 交换两个变量的值&#xff0c;针对不同类型&#xff0c;我们可以使用函数重载实现。 void Swap(double& left, double& right) {double tmp left;left ri…

黑马一站制造数仓实战1

1. 项目目标 一站制造 企业中项目开发的落地&#xff1a;代码开发 代码开发&#xff1a;SQL【DSL SQL】 SparkCore SparkSQL 数仓的一些实际应用&#xff1a;分层体系、建模实现 2. 内容目标 项目业务介绍&#xff1a;背景、需求 项目技术架构&#xff1a;选型、架构 项目环境…

SpringBootWeb案例_03

Web后端开发_06 SpringBootWeb案例_03 登录认证 智能学习辅助系统登录时需要身份验证 1.登录功能 先实现简单的登录功能&#xff0c;在进一步优化。 1.1需求 若账户或密码不存在/密码不正确&#xff0c;则登录失败。 账户密码正确&#xff0c;则登录成功 1.2接口文档 …

git基本概念

一、版本控制概念 1.1 什么是版本控制 1.1.1 手动管理文件版本 1.1.2 版本控制软件 概念&#xff1a;版本控制软件是一个用来记录文件发生的变化&#xff0c;以便将来查阅特定版本修订情况的系统&#xff0c;有时也叫“版本控制系统”。通俗的理解就是把手工管理文件版本的方…