mybatis中mysql多条件查询
来源:互联网 发布:金麦汽修软件 编辑:程序博客网 时间:2024/05/16 04:33
mybatis中用于实现动态SQL的元素有: if:用if实现条件的选择,用于定义where的字句的条件。
choose(when otherwise)相当于Java中的switch语句,通常when和otherwise一起使用。
where:简化SQL语句中的where条件。
set 解决SQL语句中跟新语句
我们课已通过几个例子来看一下这几个元素的运用场景:
if:
<select id="queryEmp" resultType="cn.test.entity.Emp">
select * from emp where 1=1
<if test="deptNo!=null">
and deptno=#{deptNO}
</if>
<if test="deptName!=null">
and deptno=#{deptName}
</if>
</select>
注:<if test="deptNo!=null">中 的deptNo是指实体类中的属性或字段;
choose:
<select id="queryEmp" resultType="cn.test.entity.Emp">
select * from emp where 1=1
<choose>
<when test="deptNo!=null">
and deptno=#{deptNo}
</when>
<when test="deptName!=null">
and deptname=#{deptName}
</when>
<otherwise>
and personnum>#{personNum}
</otherwise>
</choose>
</select>
注:上面也说了,choose相当于Java中的switch语句;当第一个when满足时;就只执行第一个when中的条件。当when中的条件都不满足时;就会执行默认的的;也就是otherwise中的语句。
where:
<select id="queryEmp" resultType="cn.test.entity.Emp">
select * from emp
<where>
<if test="deptNo!=null">
and deptno=#{deptNO}
</if>
<if test="deptName!=null">
and deptno=#{deptName}
</if>
</where>
</select>
注: where下面第一个if语句中以and开头,也可以省略第一个and ,如果第一个if语句中有and;mybatis会将第一个and忽略。
set:
<update id="updateEmp" parameterType="cn.test.entity.Emp" flushCache="true">
update emp
<set>
<if test="empName!=null">empname=#{empName},</if>
<if test="job!=null">job=#{job}</if>
</set>
where empno=#{empNo}
</update>
注: 在mybatis中的SQL语句结尾不能加“;”,这样会导致mybatis无法识别字符;导致SQL语句的语法错误;出现 java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符的错误。的异常。
- mybatis中mysql多条件查询
- mybatis中根据多条件list查询
- Mybatis中动态sql(多条件查询)
- MyBatis多条件查询
- Mybatis 多条件查询
- mybatis的多条件查询
- Mybatis 多条件动态查询
- mybatis collection 多条件查询
- mybatis多条件语句查询
- mybatis的多条件查询
- MyBatis中动态SQL语句完成多条件查询
- MyBatis中动态SQL语句完成多条件查询
- MYSQL多条件查询
- mybatis中数组空值查询条件
- myBatis中查询条件的拼接
- mybatis查询配置文件中关于 in 的条件查询
- MySQL中动态生成多条件查询语句
- MySQL中动态生成多条件查询语句
- Android:你不知道的 WebView 使用漏洞
- GoldenDict字典Snap应用
- 231. Power of Two
- Java多维数组
- 【网络】详解https是如何确保安全的?
- mybatis中mysql多条件查询
- Excel Txt 字符集设置
- 03.Ajax的使用四大步骤
- ASP.NET MVC 表单提交数组和泛型集合的方法
- mssql常用sql语句案例,亲测可用,复习必备
- 如何使用Eclipse进行jar包调试
- 自动生成Makefile的全过程详解!automake/autoconf入门
- Java基础知识-线程一(九)
- 查询本周的开卡信息