MyBatis框架动态SQL

MyBatis框架动态SQL的常用标签
  • if:条件判断,与java中的if语句类似
  • where:为SQL语句动态添加where关键字

  • choose:条件判断,这是一个组合标签,需要与when、otherwis标签搭配使用。可实现与java中的switch语句类似功能
  • foreach:以遍历方式处理集合类型参数
  • set:为SQL语句动态添加set关键字,实现动态实现数据更新功能
  • trim:对SQL语句进行格式化处理,添加或移除前后缀
if标签

语法:

<if test="条件判断,返回true或者false">

        SQL语句

</if>

      优点:有效避免多条件查询拼接SQL语句时存在的隐患,保证了业务的准确性。

where标签   

语法:

<where>

<if test="条件判断">

        SQL语句

</if>

......

</where>

优点:可以自动剔除标签内部多余的and关键字,并可以在没有过滤条件时忽略where关键字,从而起到简化SQL语句并且智能处理where、and、or关键字的作用。

choose(when、otherwise)标签

语法:

<choose> 

<when test="条件判断,返回ture或false">

        SQL

</when>

<when test="条件判断,返回ture或false">

        SQL

</when>

<otherwise>

        SQL

</otherwise>

</choose>

使用:当执行到了choose标签时,只会进入test属性判断为true的第一个标签,执行之后便会跳出choose标签。所有when标签中的test属性为false,则进入otherwise标签。 

 MyBatis框架动态处理SQL处理集合参数
foreach标签

语法:

<foreach collection="参数名" item="元素别名" open="(separator=","clode=")"index="当前元素位置下标">

  #{元素别名} 

<foreach>

属性介绍:

item:遍历数组时,为数组或list组合中的元素起的别名。

open:起始位置的拼接字符,表示in语句以“(”左括号开始。

close:结束位置的拼接字符,表示in语句以“)”有括号结束。

separetor:元素之间的连接符,表示in语句中的元素之间以“,”逗号连接。

collection:参数名称。当参数为数组类型时,默认参数为array。当参数类型为list集合时,默认参数名为list。 当参数类型为map时,参数名称为map中集合元素所在键值对的key。

MyBatis框架动态SQL处理更新功能

主要通过set+if实现

set标签

语法:

<set>

<if test="添加判断">

        SQL

</if>

......

</set>

set标签用法与wher标签十分相似。可以在其包裹的语句前拼接上一个set关键字,并能忽略更新语句尾部多余出来的逗号。配合if标签灵活使用set标签,就可以在拼接SQL时忽略不需要修改的字段,从而实现数据部分更新的功能。 

MyBatis框架动态SQL知识扩展
Trim标签

语法:

<trim prefix="前缀"  suffix="后缀" prefixOverrieds="忽略前缀" suffixOverrides="忽略后缀">

.....

</trim>

MyBatis框架的分页功能

 基于MYSQL的分页查询。MYSQL数据库的分页关键字为limit,使用MyBatis框架对其进行操作,用法与客户端的操作基本相同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值