今日记录:学习一个Mybatis的技能之choose 和 bind

简介: 今日记录:学习一个Mybatis的技能之choose 和 bind

今日份知识学习

今天我们来学习一个Mybatis中的技能,可能不是很常用,但是也是非常常见的一个用法了,建议大家看一下,绝对是有些用处的。

接下来一起来看一下吧。

学习一个Mybatis的技能之choose 和 bind

Mybatis中我们经常就是随便写上一个SQL了事,可能有的时候会使用if标签来进行判断之类的操作。

今天我们要说的是在复杂判断条件逻辑下的一个技能choose和bind,如果使用复杂判断条件,就必然会涉及到choose、when、otherwise等等的关键标签。

今天我们不说when、otherwise这些标签。

主要是来说一下choose下的bind标签是如何使用的,还有就是如何在choose下搭配使用的。

接下来就一起来看一个示例mybatis中的xml吧,如下代码:

<select id="get" resultType="java.util.Map">
    SELECT * FROM table_name
    WHERE user_id =
    <choose>
        <when test="user_id_old == '1'">
            CONCAT('1',#{user_id_old},'1')
        </when>
        <otherwise>
            <bind name="userId" value="'2' + user_id_old + '2'"/>
            #{userId}
        </otherwise>
    </choose>
</select>

通过这个示例,我们可以看得出来,在查询table_name表中user_id和user_id_old字段按照一定规则可以匹配的结果。

通过choose标签进行复杂判断,

随后我们通过when标签来进行第一次的条件筛选,并且在为true的情况下,进行首尾拼上1。

when标签之后,是otherwise标签,预示着when标签相反的结果。

这里我们就使用到了bind标签了。

这个标签在这里的功能就很容易看的出来了。

通过userId这个变量,进行value的赋值绑定,随后对其进行返回。

至此,我们得到了bind在choose标签下是如何使用的,这两者是如何进行配合的。

大家可以自行去试一下哈,实践中出真知。

总结

今天我们学习了Mybatis中的bind和choose标签是如何搭配使用的,不知道大家是否有所收获。

目录
相关文章
|
2月前
|
SQL XML Java
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
16 0
|
6月前
|
Java 数据库连接 mybatis
mybatis的choose,when,otherwize标签
mybatis的choose,when,otherwize标签
|
15天前
|
SQL Java 数据库连接
【Mybatis】深入学习MyBatis:概述、主要特性以及配置与映射
【Mybatis】深入学习MyBatis:概述、主要特性以及配置与映射
【Mybatis】深入学习MyBatis:概述、主要特性以及配置与映射
|
2月前
|
SQL XML Java
学习Mybatis相关知识
一、什么是Mybatis? 1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。开发人员直接编写原生态sql,即可严格控制sql执行性能、且灵活度高。
13 0
|
2月前
|
XML Java 数据库连接
Mybatis-Plus学习小项目及详细教程
Mybatis-Plus学习小项目及详细教程
|
4月前
|
SQL 缓存 Java
Mybatis学习文章
Mybatis学习文章
|
4月前
|
SQL Java 数据库连接
还在为学MyBatis发愁?史上最全,一篇文章带你学习MyBatis
还在为学MyBatis发愁?史上最全,一篇文章带你学习MyBatis
|
5月前
|
算法 数据库
MYSQL-mybatisplus的主键自增问题与@Tableld@TableField@TableLogic的学习
关于org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.laoyang.Mapper.BookMapper.deleteById问题
|
6月前
|
SQL XML Java
Mybatis框架使用的学习
在沃尔玛项目中的Mybatis框架使用了两种实现CRUD的模式,为Dao文件编写相应的xml实现功能与直接在Dao的方法中直接使用注解开发
30 1
|
7月前
|
Java 数据库连接 mybatis
60MyBatis - choose、when、otherwise元素
60MyBatis - choose、when、otherwise元素
28 0