当前位置: 首页 > java >正文

SpringBoot整合MyBatis

  本内容采用最新SpringBoot3框架版本,视频观看地址:B站视频播放

1. MyBatis概述

MyBatis是一个支持普通SQL查询、存储过程以及高级映射的持久层框架,它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索,使用简单的XML或注解进行配置和原始映射,将接口和Java对象映射成数据库中的记录,使得Java开发人员可以使用面向对象的编程思想来操作数据库。

2. MyBatis的常用配置元素

MyBatis映射文件中的常用元素有<mapper>、<insert>、<delete>、<update>、<select>、<resultMap>、<sql>等。

属性

说明

<mapper>

映射文件的根元素,该元素只有一个namespace属性。

<select>

用于映射查询语句。

<insert>

用于映射插入语句。

<delete>

用于映射删除语句。

<update>

用于映射更新语句。

<resultMap>

描述数据库结果集和对象的对应关系。

<sql>

可以重用的SQL块,也可以被其他语句使用。

2.1 select元素

<select>元素用来映射查询语句,它可以从数据库中查询数据并返回。

  • id,对应Mapper接口的方法。
  • parameterType,指定SQL语句所需参数类型的全限定名或者别名。
  • resultType,SQL语句执行后返回的类型(全限定名或者别名)。

2.2 insert元素

<insert>元素用于映射插入语句,在执行完<insert>元素中定义的SQL语句后,会返回插入记录的数量。

2.3 update元素

<update>元素用于映射更新语句,它可以更新数据库中的数据。在执行完元素中定义的SQL语句后,会返回更新的记录数量。

2.4 delete元素

<delete>元素用于映射删除语句,在执行完<delete>元素中的SQL语句之后,会返回删除的记录数量。

3. MyBatis的动态SQL元素

在实际项目的开发中,开发人员在使用持久层框架进行开发时,经常需要根据不同的条件拼接SQL语句,这种编程方式给开发人员带来了非常大的不便,而MyBatis提供的SQL语句动态组装功能,恰能很好地解决这一问题。

动态SQL常用元素<if>、<where>、<set>、<foreach>等。

属性

说明

<if>

判断语句,用于单条件判断

<where>

简化SQL语句中where的条件判断

<set>

用于SQL语句的动态更新

<foreach>

循环语句,常用于in语句等列举条件中

3.1 if元素

在MyBatis中,<if>元素是最常用的判断元素,它类似于Java中的if语句,主要用于实现某些简单的条件判断。

3.2 set元素

在update语句中可以使用<set>元素动态更新列。

4. SpringBoot整合MyBatis案例

基于Spring Boot+MyBatis实现学生信息的新增、修改、删除、查询功能,并实现MySQL数据库的操作。 MySQL数据库创建学生表(t_student),有主键、姓名、性别、年龄信息。

SpringBoot整合MyBatis案例视频观看地址:B站视频播放

http://www.xdnf.cn/news/8915.html

相关文章:

  • CollUtil详解
  • 网络安全--PHP第三天
  • 万勋“机器人服务”全新品牌—汎汐®全球首发!独家服务高空建筑清洗、风机运维等场景
  • Flutter Web 3.0革命:用WebGPU实现浏览器端实时光追渲染,性能提升300%
  • ROS2学习(13)------ 数据分发服务DDS
  • Springboot 整合 WebSocket 实现聊天室功能
  • 【部署】在离线服务器的docker容器下升级dify-import程序
  • [论文阅读]Prompt Injection attack against LLM-integrated Applications
  • 探索Linux互斥:线程安全与资源共享
  • 基于机器学习的沪深300指数波动率预测:模型比较与实证分析
  • Linux:多线程---初识线程
  • IEEE Communications Surveys Tutorials 2025年1月-4月论文速览
  • 李宏毅NLP-7-CTC/RNN-T文本对齐
  • 深入理解设计模式之装饰器模式
  • 如何在Windows右键菜单中添加“以管理员身份运行CMD”的选项(含图标设置)
  • 6.4.2_2最短路径算法-Dijkstra算法
  • DAY34
  • Spring | 在Spring中使用@Resource注入List类型的Bean并按优先级排序
  • VMware+Windows 11 跳过安装阶段微软账号登录
  • TSO-DSO接口有功和无功灵活性区域估计
  • 需求管理工具使用不当,如何优化?
  • 今日は進展があまりありませんでした。悪名高いACM
  • RocketMQ 索引文件(IndexFile)详解:结构、原理与源码剖析
  • WebGL3(WebGL or WebGPU?)
  • QTableWidget的函数和信号介绍
  • Android7 Input(九)View 建立Input Pipeline
  • html学习
  • MySQL:索引
  • hugo博客搭建,github部署
  • 前缀和知识笔记