今日记录:学习一个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复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
97 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
2月前
|
Java 关系型数据库 数据库连接
mybatis-plus学习
MyBatis-Plus ,MyBatis 最佳搭档,只做增强不做改变,为简化开发、提高效率而生。
47 5
|
3月前
|
安全 Java 数据库连接
后端框架的学习----mybatis框架(3、配置解析)
这篇文章详细介绍了MyBatis框架的核心配置文件解析,包括环境配置、属性配置、类型别名设置、映射器注册以及SqlSessionFactory和SqlSession的生命周期和作用域管理。
后端框架的学习----mybatis框架(3、配置解析)
|
3月前
|
Java 数据库连接 mybatis
后端框架的学习----mybatis框架(9、多对一处理和一对多处理)
这篇文章介绍了在MyBatis框架中如何处理多对一和一对多的关联查询,通过定义`<resultMap>`和使用`<association>`与`<collection>`元素来实现对象间的关联映射。
|
3月前
|
Java 数据库连接 测试技术
后端框架的学习----mybatis框架(8、lombok)
这篇文章介绍了如何在MyBatis框架中使用lombok库来简化Java实体类的编写,包括在IDEA中安装Lombok插件、在项目中导入lombok依赖以及在实体类上使用Lombok提供的注解。
|
3月前
|
Java 数据库连接 数据库
后端框架的学习----mybatis框架(6、日志)
这篇文章介绍了如何在MyBatis框架中使用日志功能,包括配置MyBatis的日志实现、使用log4j作为日志工具,以及如何通过配置文件控制日志级别和输出格式。
|
3月前
|
SQL Java 数据库连接
后端框架的学习----mybatis框架(5、分页)
这篇文章介绍了如何在MyBatis框架中实现分页功能,包括使用SQL的`limit`语句进行分页和利用MyBatis的`RowBounds`对象进行分页的方法。
|
3月前
|
SQL Java 数据库连接
后端框架的学习----mybatis框架(7、使用注解开发)
这篇文章讲述了如何使用MyBatis框架的注解方式进行开发,包括在接口上使用注解定义SQL语句,并通过动态代理实现对数据库的增删改查操作,同时强调了接口需要在核心配置文件中注册绑定。
|
5月前
|
SQL XML Java
MyBatis动态SQL------------------choose用法
MyBatis动态SQL------------------choose用法
66 1
下一篇
无影云桌面