MyBatis框架动态SQL

MyBatis 是一款优秀的持久层框架,它的强大之处正是 SQL 语句映射,这一章介绍常用的动态 SQL

一、 概述

动态 SQL 是 MyBatis 的强大特性之一,通过不同参数生成不同的 SQL,可以动态地对数据持久层进行操作,而不需要每个数据访问操作都要进行手动地拼接 SQL 语句。

二、动态语句

1. if

<if> 语句可以根据条件指定 SQL 部分,例如 where 条件

2. choose、when、othewise

<choose> 语句类似于 Java 的 switch 语句,可以从多个条件中选择一个使用。

3. trim、where、set

在前面的例子中,where 后面都会加上 1=1 这个条件,为了解决当所有条件都没生效时,where 条件为空而产生异常的问题。

在更新语句 set 后面也会出现同样的问题,可以使用 <trim> 语句通过指定前缀和后缀的方式来解决。

MyBatis 也提供更简单的 <where> 语句和 <set> 语句来解决这个问题。

4. foreach

<foreach> 可以对集合进行遍历,例如使用 IN 条件语句的时候。

item 指定元素,index 指定索引。

5. script

<script> 可以在接口上的注解中使用动态SQL。

<script> 标签里面的内容和在 XML 文件中的动态 SQL 语法一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值