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

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.dtcms.com/a/213630.html

相关文章:

  • [Godot][游戏开发] 如何在 Godot 中配置 Android 环境(适配新版 Android Studio)
  • 使用 Kotlin 实现 Android 自定义 Lint 检查规则的步骤指南
  • 沉石鱼惊旋
  • [ARM][架构] 02.AArch32 程序状态
  • GPT-4o 风格提示词案例大全(持续更新 ing...)
  • AE THYRO-AX 功率控制器 THYRISTOR-LEISTUNGSSTELLER THYRISTOR POWER CONTROLLER
  • Kotlin学习34-data数据类1
  • uniapp开发小程序,如何根据权限动态配置按钮或页面内容
  • 【Java学习笔记】抽象类
  • Redis 性能优化:核心技术、技巧与最佳实践
  • C++(4)
  • 第7章:Zephyr 的低功耗机制
  • 跟着华为去变革 ——读《常变与长青》有感
  • 读懂 std::true_type 和 std::false_type
  • 2025年- H52-Lc160--114. 二叉树展开为链表(前序遍历 + 用栈 + 原地修改)--Java版
  • 04_redis之ZSet使用实例-积分榜
  • leetcode-295 Find Median from Data Stream
  • Wan2.1 图生视频 多卡推理批量生成视频
  • 视频问答功能播放器(视频问答)视频弹题功能实例
  • ffmpeg转换竖屏(画面是横屏旋转90度的竖屏文件格式)视频到横屏
  • 网易互娱游戏研发实习一面
  • 在 ElementUI 中实现 Table 单元格合并
  • 萤石云实际视频实时接入(生产环境)
  • Node.js全局对象详解:console、process与核心功能
  • [ARM][架构] 01.ARMv7 特权等级与核心寄存器
  • 代码随想录算法训练营第60期第四十八天打卡
  • 开源 FcDesigner 表单设计器组件事件详解
  • 算法打卡第七天
  • 【ARTS】【LeetCode-59】螺旋矩阵
  • Debian系统安装Python详细教程及常见问题解答