news 2026/6/21 2:14:40

Mybatis

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mybatis

介绍

MyBatis是一款优秀的持久层框架

官网:MyBatis中文网

配置

创建springboot工程,并导入 mybatis的起步依赖、mysql的驱动包、lombok。

项目工程创建完成后,自动在pom.xml文件中,导入Mybatis依赖和MySQL驱动依赖。如下所示:

配置Mybatis

application.properties中配置数据库的连接信息。

#数据库访问的url地址 spring.datasource.url=jdbc:mysql://localhost:3306/web01?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true #访问数据库-用户名 spring.datasource.username=root #访问数据库-密码 spring.datasource.password=root@1234 #非必须 #数据库驱动类类名 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

注:url地址中的/web01是Schema名称,根据自己的名字来

url后面跟的参数

参数作用
serverTimezone=Asia/Shanghai解决 MySQL 8 时区报错
useUnicode=true开启 Unicode
characterEncoding=utf-8防中文乱码
zeroDateTimeBehavior=convertToNull处理 0000-00-00
useSSL=false关闭 SSL 警告
allowPublicKeyRetrieval=trueMySQL 8 登录必需(无 SSL)

配置SQL提示

配置当前IDEA关联的MySQL数据库

配置Mybatis日志输出

默认情况下,在Mybatis中,SQL语句执行时,我们并看不到SQL语句的执行日志。 在application.properties加入如下配置,即可查看日志:

#mybatis的配置 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

打开上述开关之后,就可以看到控制台输出的SQL语句是什么样子的。

Druid连接池(可选)

Druid连接池是阿里巴巴开源的数据库连接池项目,功能强大,性能优秀,是Java语言最好的数据库连接池之一

如果我们想把默认的数据库连接池切换为Druid数据库连接池,只需要完成以下两步操作即可:

参考官方地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

①在pom.xml文件中引入依赖

<dependency> <!-- Druid连接池依赖 --> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.19</version> </dependency>

②在application.properties中引入数据库连接配置

#非必须 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver #必须 spring.datasource.druid.url=jdbc:mysql://localhost:3306/web01?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.druid.username=root spring.datasource.druid.password=1234

配置完毕之后,会看到控制台输出的日志中,已经将连接池切换为了 Druid连接池。

XML映射配置

Mybatis的开发有两种方式:

  1. 注解

  2. XML

使用Mybatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。

在Mybatis中使用XML映射文件方式开发,需要符合一定的规范:

  1. XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)

  2. XML映射文件的namespace属性为Mapper接口全限定名一致

  3. XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。

创建XML映射文件

编写XML映射文件

xml映射文件中的dtd约束,固定格式(直接cv)

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace=""> </mapper>
XML映射文件的namespace属性为Mapper接口全限定名
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.mapper.UserMapper"> </mapper>
XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.mapper.EmpMapper"> <!--查询操作--> <select id="findAll" resultType="com.itheima.pojo.User"> select * from user </select> </mapper>

MybatisX

MybatisX是一款基于IDEA的快速开发Mybatis的插件

MybatisX的安装:

可以通过MybatisX快速定位:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 23:18:20

DAY 42 Dataset和Dataloader类

import torch from torchvision import datasets, transforms # torchvision 是一个用于计算机视觉的库&#xff0c;datasets 和 transforms 是其中的模块 import matplotlib.pyplot as plttransform transforms.Compose([transforms.ToTensor(), # 转换为张量并归一化到[0,1…

作者头像 李华
网站建设 2026/6/17 20:29:33

AI记忆系统终极指南:三步搭建知识图谱持久记忆库

AI记忆系统终极指南&#xff1a;三步搭建知识图谱持久记忆库 【免费下载链接】servers Model Context Protocol Servers 项目地址: https://gitcode.com/GitHub_Trending/se/servers 你是否曾经对AI的"健忘症"感到沮丧&#xff1f;&#x1f62e;‍&#x1f4a…

作者头像 李华
网站建设 2026/6/20 9:34:17

跨平台兼容性实战:从崩溃到稳定的技术演进之路

你是否曾经遇到过这样的场景&#xff1a;精心开发的软件在某个系统版本上运行完美&#xff0c;但在另一个版本上却频繁崩溃&#xff1f;或者用户反馈说你的应用在他们的设备上显示异常&#xff1f;这些问题背后往往隐藏着跨平台兼容性的深层挑战。今天&#xff0c;我们将通过Im…

作者头像 李华
网站建设 2026/6/16 16:44:15

LLC谐振DC/DC变换器的MATLAB与PSIM仿真设计

MATLAB、PSIM半桥LLC谐振DC/DC变换器的设计与仿真&#xff0c;内含开环仿真、电压闭环仿真两个仿真文件&#xff0c;并含有电路参数仿真计算过程。最近在研究半桥LLC谐振变换器&#xff0c;这个拓扑结构以其高效的能量转换和较低的开关应力特性&#xff0c;成为高功率密度电源系…

作者头像 李华
网站建设 2026/6/20 7:06:36

基于FPGA的IIR滤波器设计与实现

基于FPGA的IIR滤波器数字滤波器无限脉冲响应verilog vhdl自适应滤波器实物FIR抽取内插上下变频CIC滤波器 如果需要上述滤波器或者其他滤波器都可以右下角加好友加好友定制。 本设计是基于FPGA的IIR滤波器&#xff0c;VERILOG HDL和VHDL的程序都有&#xff0c;下面图示的滤波器设…

作者头像 李华
网站建设 2026/6/17 15:22:27

埃斯顿ER系列机器人完整操作手册下载 - 官方最新技术指南

埃斯顿ER系列机器人完整操作手册下载 - 官方最新技术指南 【免费下载链接】埃斯顿机器人ER系列操作手册下载 埃斯顿机器人ER系列操作手册下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/e2027 埃斯顿ER系列机器人作为工业自动化领域的重要设备…

作者头像 李华