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

Spring Boot开发——整合MyBatis的几种SQL写法

文章目录

  • 1. 批量操作优化
    • • 批量插入
    • • 批量更新
    • • 批量删除
  • 2. 动态SQL
    • • 动态查询
  • 3. 多条件分支查询
    • • 多条件分支查询
  • 4. SQL语句优化
    • • SQL语句优化
  • 5. 自动生成主键
    • • 自动生成主键
  • 6. 注解方式使用MyBatis
    • • 注解方式示例
  • 7. 高级映射
    • • 一对多映射
  • 8. MyBatis-Plus集成
    • • MyBatis-Plus使用示例

1. 批量操作优化

批量操作能够显著提升数据库的处理效率,MyBatis通过<foreach>标签支持批量插入、更新和删除。

• 批量插入

<insert id="batchInsert" parameterType="java.util.List">
    INSERT INTO user (username, email, create_time) VALUES
    <foreach collection="list" item="item" separator=",">
        (#{item.username}, #{item.email}, #{item.createTime})
    </foreach>
</insert>

此示例展示了如何批量插入用户数据。通过<foreach>遍历传入的用户列表,将每个用户的信息插入到数据库中。

• 批量更新

<update id="batchUpdate" parameterType="java.util.List">
    <foreach collection="list" item="item" separator=";">
        UPDATE user
        SET username = #{item.username}, email = #{item.email}
        WHERE id = #{item.id}
    </foreach>
</update>

此示例演示了如何批量更新用户信息。对每个用户,根据其ID更新用户名和邮箱。

• 批量删除

<delete id="batchDelete" parameterType="java.util.List">
    DELETE FROM user WHERE id IN
    <foreach collection="list" item="id" open="(" separator="," close=")

http://www.kler.cn/a/421696.html

相关文章:

  • ubuntu 22.04 mini 安装,在配置网络时重启后配置文件被重置原因与解决方法
  • 基于Java Springboot在线招聘APP且微信小程序
  • sscanf与sprintf函数
  • 帮我写一篇关于AI搜索网页上编写的文章是否存在版权问题的文章, 字数在 3000 字左右。腾讯元宝提问, 记录后用.
  • 字节青训Marscode——8:找出整形数组中超过一半的数
  • el-upload上传多个文件,一次请求,Django接收
  • jupyter-lab 环境构建
  • 探索非传统排序算法:从睡眠排序到量子博戈排序的趣味实现
  • MySql:理解数据库
  • web三、 window对象,延时器,定时器,时间戳,location对象(地址),本地存储-localStorage,数组去重new Set
  • 12.2深度学习_项目实战
  • 【k8s】创建基于sa的token的kubeconfig
  • 【HarmonyOS】鸿蒙应用地理位置获取,地理名称获取
  • Delphi 12.2.1 idhttpserver的使用方法
  • RK3568 + OpenCV 会碰撞出什么火花?案例详解:2-1 基于OpenCV的画线实验
  • Java 基于Spring AI RAG组件做AI智能问答_rag检索增强_AI智能问答
  • 03-13、SpringCloud Alibaba第十三章,升级篇,服务降级、熔断和限流Sentinel
  • Git相关记录
  • 前端跳转路由的时候,清掉缓存
  • Spark常问面试题---项目总结