myBatis xml文件SQL编写( if、where、if

您所在的位置:网站首页 Mybatisforeach怎么写 myBatis xml文件SQL编写( if、where、if

myBatis xml文件SQL编写( if、where、if

2024-07-12 08:44:58| 来源: 网络整理| 查看: 265

myBatis xml文件SQL编写( if、where、if-else、set 、foreach ) 1. if 标签2. where 标签3. choose, when, otherwise 标签 (if - else if - else )4. set 标签5. foreach 标签 MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 SQL 语言得以改进这种情形。 动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。

1. if 标签

mapper中编写AQL,使用 标签,可以使你的接口很便捷。

代码如下(示例):

select * from student where name =#{record.name} select * from student where id = #{record.id} and name = #{record.name}

如上面的代码,如果当你的id为空时,name前面的and是没有必要的,运行会抛异常 或者当这两个都为空时,只剩一个空的where,还是会报错,这个时候就需要标签了。

2. where 标签

标签 只会在至少有一个子元素的条件返回 SQL 子句的情况下才去插入WHERE子句。而且,若语句的开头为AND或OR, 标签也会将它们去除。 使用 标签,代码将会变得很优美。

代码如下(示例):

select * from student and id = #{record.id} and name = #{record.name} 3. choose, when, otherwise 标签 (if - else if - else )

在myBatis中是不支持 if - else 的,想要是用 if - else 的话,可以使用标签代替。 标签 、 标签、 标签 ,有点像 Java 中的switch语句。

代码如下(示例):

SELECT * FROM student WHERE state = '已入学' AND name like #{record.name} AND remark like #{record.remark } AND status = 1 4. set 标签

代码如下(示例):

update student name = #{record.name}, sex = #{record.sex }, where id = #{record.id}

标签会在成功拼接的条件前加上SET单词且最后一个”,”号会被无视掉,但是有可能需要”,”的地方不能省略”,”否则异常。

5. foreach 标签

foreach标签用于遍历生成单个或多个数据。

代码如下(示例):

select COUNT(*) count from student and id in #{item}

提示:关于mybatis的动态sql,建议查看,官方文档



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭