SpringBoot集成Mybatis(包括Mybatis-Plus)和日志

一、使用Mybatis

1.添加依赖

   <!--Mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version> <!-- 选择与Java 8兼容的版本 --></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version> <!-- 请根据需要调整版本号 --></dependency><!--注解相关--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>

2.添加配置

spring:datasource:url: jdbc:mysql://192.168.101.128:3306/test1?useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: abcdefdriver-class-name: com.mysql.cj.jdbc.Driver
mybatis:# 配置mapper.xml文件位置mapper-locations: classpath:mapper/*.xml# 开启自动驼峰映射configuration:map-underscore-to-camel-case: true

3.然后就能使用了

例如:

实体类

package com.example.springbootdemo3.model;import org.springframework.data.annotation.Id;import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Table;
import java.time.LocalDateTime;/*** description** @author PC 2025/03/02 19:26*/
@Table(name = "user_test")
public class UserTest {@Id // JPA annotation for marking the primary key@GeneratedValue(strategy = GenerationType.IDENTITY) // Auto increment strategyprivate Integer id;@Column(name = "name", length = 255)private String name;@Column(name = "age")private Integer age;@Column(name = "create_date")private LocalDateTime createDate;@Column(name = "update")private LocalDateTime lastUpdate;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public LocalDateTime getCreateDate() {return createDate;}public void setCreateDate(LocalDateTime createDate) {this.createDate = createDate;}public LocalDateTime getLastUpdate() {return lastUpdate;}public void setLastUpdate(LocalDateTime lastUpdate) {this.lastUpdate = lastUpdate;}
}

java接口

package com.example.springbootdemo3.mapper;import com.example.springbootdemo3.model.UserTest;
import org.apache.ibatis.annotations.Mapper;import java.util.List;/*** description** @author PC 2025/03/02 20:52*/
@Mapper
public interface UserTestMapper {List<UserTest> selectAllUsers();
}

xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.springbootdemo3.mapper.UserTestMapper"><!-- 查询所有用户 --><select id="selectAllUsers" resultType="com.example.springbootdemo3.model.UserTest">SELECT id, `name`, age, create_date, last_updateFROM user_test</select>
</mapper>

测试

package com.example.springbootdemo3.controller;import com.example.springbootdemo3.mapper.UserTestMapper;
import com.example.springbootdemo3.model.UserTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** description** @author PC 2025/03/02 20:54*/
@RestController
@RequestMapping("/date-test")
public class DateDourceController {@Autowiredprivate UserTestMapper userTestMapper;@GetMapping("/get-all")public List<UserTest> getAll() {return userTestMapper.selectAllUsers();}}

二、使用Mybatis-Plus(和上面二选一即可)

1.添加依赖

 <!--Mybatis Plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3</version> <!-- 请根据需要选择最新版本 --></dependency><!-- MySQL连接器 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version> <!-- 请根据需要调整版本号 --></dependency><!--注解相关--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>

2.添加配置

spring:datasource:url: jdbc:mysql://192.168.101.128:3306/test1?useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: abcdefdriver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:# 配置mapper.xml文件位置mapper-locations: classpath:mapper/*.xml# 开启自动驼峰映射configuration:# 配置驼峰命名map-underscore-to-camel-case: true

3.然后就可以用了

package com.example.springbootdemo3.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.springbootdemo3.mapper.UserTestMapper;
import com.example.springbootdemo3.model.UserTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** description** @author PC 2025/03/02 20:54*/
@RestController
@RequestMapping("/date-test")
public class DateDourceController {@Autowiredprivate UserTestMapper userTestMapper;@GetMapping("/getByName")public List<UserTest> getList(String name) {QueryWrapper<UserTest> queryWrapper = new QueryWrapper<>();queryWrapper.like("name", name);return userTestMapper.selectList(queryWrapper);}
}

三、日志(包含Mybatis-plus日志)

1.加依赖

<!-- SLF4J API -->
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></dependency>
<!-- Logback Classic -->
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId>
</dependency>

2.加配置(搞定)

mybatis-plus:configuration:# 配置日志实现类log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
logging:level:com.example.springbootdemo3: INFOcom.baomidou.mybatisplus: DEBUGcom.zaxxer.hikari: INFOcom.example.springbootdemo3.mapper: DEBUG

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

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

相关文章

【每日八股】计算机网络篇(二):TCP 和 UDP

目录 TCP 的头部结构&#xff1f;TCP 如何保证可靠传输&#xff1f;1. 确认应答机制2. 超时重传3. 数据排序与去重4. 流量控制5. 拥塞控制6. 校验和 TCP 的三次握手&#xff1f;第一次握手第二次握手第三次握手 TCP 为什么要三次握手&#xff1f;问题一&#xff1a;防止历史连接…

Tomcat-web服务器介绍以及安装部署

一、Tomcat简介 Tomcat是Apache软件基金会&#xff08;Apache Software Foundation&#xff09;的Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun和其他一些公司及个人共同开发而成。 Tomcat服务器是一个免费的开放源代码的Web应用服务器&#xff0c;属于轻量级应用…

【通俗讲解电子电路】——从零开始理解生活中的电路(三)

实际应用案例&#xff1a;生活中的电子电路 ——拆解你身边的“隐形工程师” 1. 手电筒电路&#xff1a;最简单的直流系统 电路组成 电源&#xff1a;2节1.5V电池&#xff08;串联3V&#xff09;。 开关&#xff1a;按钮控制回路通断。 LED&#xff1a;发光二极管&#xff…

部署Windows Server自带“工作文件夹”实现企业网盘功能完整步骤

前文已经讲解过Windows Server自带的“工作文件夹”功能&#xff0c;现以Windows Server 2025为例介绍部署工作文件夹的完整步骤&#xff1a; 为了确保您能够顺利部署和充分利用工作文件夹的功能&#xff0c;我将按照以下步骤进行讲解。 请注意&#xff0c;在域环境中部署工作…

详解LSM树

目录 什么是LSM树 磁盘结构与顺序IO LSM树结构 LSM树的写入 SSTable合并 LSM树的读取 LSM树的删除 总结 什么是LSM树 LSM 树全名日志结构合并树&#xff08;Log-Structured Merge Tree&#xff09;&#xff0c;是一种用于存储和管理数据的树状数据结构&#xff0c;常用…

ABAP语言的动态编程(3) - data reference 对象

如果数据对象的类型在运行时才知道&#xff0c;就需要用到 data reference 对象。 Data references can point to any data objects or to their parts (components, rows of internal tables, or sections specified by offsets and lengths) 也就是说 data reference 对象其实…

Excel的行高、列宽单位不统一?还是LaTeX靠谱

想要生成田字格、米字格、带拼音标准&#xff0c;方便小学生书法和练字。Word&#xff0c;Excel之类所见即所得是最容易相当的方式。但它们处理带田字格之类背景时&#xff0c;如果没有专用模板、奇奇怪怪的插件&#xff0c;使用起来会碰到各种问题。比如&#xff0c;Word里面用…

Stepdown SLOPE for Controlled Feature Selection

文章&#xff1a;《Stepdown SLOPE for Controlled Feature Selection》 如何保证错选率可控地特征选择&#xff1f;&#xff1f;&#xff1f;&#xff1f; 研究背景 现有SLOPE方法主要关注FDR&#xff08;错误发现率&#xff09;控制&#xff0c;但在实际应用中需更严格地控…

mysql空间占用

1、查询数据库占用空间 可以通过查询 information_schema 系统数据库中的 SCHEMATA 表和 TABLES 表来获取数据库占用的空间大小。 SELECT table_schema AS 数据库名称,SUM(data_length index_length) / 1024 / 1024 AS 占用空间(MB) FROM information_schema.TABLES GROUP BY…

量子关联特性的多维度探索:五量子比特星型系统与两量子比特系统的对比分析

模拟一个五量子比特系统&#xff0c;其中四个量子比特&#xff08;编号为1, 2, 3, 4&#xff09;分别与第五个量子比特&#xff08;编号为5&#xff09;耦合&#xff0c;形成一个星型结构。分析量子比特1和2的纠缠熵随时间的变化。 系统的哈密顿量H描述了量子比特间的相互作用…

嵌入式学习笔记-卡尔曼滤波,PID,MicroPython

文章目录 卡尔曼滤波卡尔曼滤波的核心思想卡尔曼滤波的数学模型1. 状态转移模型&#xff08;预测系统状态&#xff09;2. 观测模型&#xff08;预测测量值&#xff09; 卡尔曼滤波的五个关键步骤1. 预测状态2. 预测误差协方差3. 计算卡尔曼增益4. 更新状态5. 更新误差协方差 卡…

计算机网络学习————(五)TCP/IP学习

前文学习&#xff1a; 一、二、三、四 学习来源网站 &#xff1a; 极客时间 TCP协议 发展历史 ARPA-NCP协议————可扩展性差、且对应的一般为单对单 解决问题&#xff1a; 在IP协议之上&#xff0c;解决网络通讯可依赖问题 点对点&#xff0c;面向连接 双向传递 字节流&am…

智能笔记,智慧管理:Obsidian 与 DeepSeek 携手引领 AI 知识新时代

清华大学出品《DeepSeek&#xff1a;从入门到精通》分享 清华大学出品《DeepSeek&#xff1a;从入门到精通》分享 清华大学出品《DeepSeek&#xff1a;从入门到精通》分享 AI 助力下的知识管理革新&#xff1a;构建你的智能 Obsidian 系统 在数字时代&#xff0c;如何高效地整…

VSCode 移除EmmyLua插件的红色波浪线提示

VSCode 中安装插件EmmyLua&#xff0c;然后打开lua文件的时候&#xff0c;如果lua代码引用了C#脚本的变量&#xff0c;经常出现 “undefined global variable: UnityEngineEmmyLua(undefined-global)” 的红色波浪线提示&#xff0c;这个提示看着比较烦人&#xff0c;我们可以通…

优得运维推出光伏电站运维精进班,助力新能源行业人才培养

随着全球新能源产业的快速发展&#xff0c;光伏电站的运维需求日益增长。为了满足行业对高素质运维人才的需求&#xff0c;优得运维——联盛新能源集团的核心成员&#xff0c;正式推出光伏电站运维精进班。该课程旨在通过系统化的培训&#xff0c;帮助学员夯实电工基础、提升应…

anything文本分割优化

1、文本分割优化&#xff0c;建议 200 和40&#xff0c;把文档切得更碎一些方便检索命中。 2、RAG接口进一步优化 /*** RAG知识库接口** param prompt* return*/GetMapping(value "/rag/chat", produces MediaType.TEXT_EVENT_STREAM_VALUE)public Flux<ChatCom…

全志A133 android10 mipi屏幕调试

一&#xff0c;确认屏幕信息 屏幕调试首先要查看屏幕规格书&#xff0c;主要看里面的屏供电电压vdd&#xff0c;背光供电电压&#xff0c;timing参数部分。 举个例子&#xff1a; 屏供电电压 可以看出供电电压为3.3V&#xff0c;过大则会烧屏&#xff1b;背光供电电压 屏幕…

(下:补充——五个模型的理论基础)深度学习——图像分类篇章

目录 1.1 卷积神经网络基础 3.1 AlexNet网络结构详解与花分类数据集下载 4.1 VGG网络详解及感受野的计算 5.1 GoogLeNet网络详解 6.1 ResNet网络结构&#xff0c;BN以及迁移学习详解 总结&#xff08;可以直接看总结&#xff09; 1.1 卷积神经网络基础 视频讲解&#xf…

批量给 Word 添加文字和图片水印

在 Word 中添加水印是非常常见的一个需求&#xff0c;当我们需要将 Word 文档发送给第三方&#xff0c;或者需要将 Word 文档打印出来的时候&#xff0c;给 Word 文档加上水印是一个很重要的操作&#xff0c;可以声明版权&#xff0c;也可以起到广告标识作用。如果少量 Word 文…

数据挖掘工程师的技术图谱和学习路径

数据挖掘工程师的技术图谱和学习路径: 1.基础知识 数据挖掘工程师是负责从大量数据中发现潜在模式、趋势和规律的专业人士。以下是数据挖掘工程师需要掌握的基础知识: 数据库知识:熟悉关系数据库和非关系数据库的基本概念和操作,掌握SQL语言。 统计学基础:了解统计学的基…