Mybatis的<where><if>标签

<select id="selectUserByProvinceAndCity" resultMap="BaseResultMap">
		SELECT *
		FROM user_user_t
		<where>
		<if test="provinceId != 0">
		province_id=#{provinceId}
		</if>
		<if test="provinceId == 0">
		province_id LIKE CONCAT('%','${provinceId}','%' )
		</if>
		</where>
		LIMIT #{pageIndex},#{pageSize}
	</select>

上面这段代码的意思是,在查询user表时,判断省份id是否为0,如果省份Id为0,那么就查找用户表中省份Id包含0的记录,否则,就查找省份Id等于provinceId的记录。

时间: 2024-12-28 18:09:03

Mybatis的<where><if>标签的相关文章

MyBatis学习-映射文件标签篇

MyBatis 真正的核心在映射文件中.比直接使用 JDBC 节省95%的代码.而且将 SQL 语句独立在 Java 代码之外,可以进行更为细致的 SQL 优化. 一. 映射文件的顶级元素 resultMap:最复杂,最有力量的元素,用来描述如何从数据库结果集中加载你的对象 sql:可以重用的 sql 代码块 insert:映射插入语句 update:映射更新语句 delete:映射删除语句 select:映射查询语句 cache:配置给定命名空间的缓存 cache-ref:从其他命名空间引用缓

Mybatis的全局配置文件标签介绍(mybatis-config.xml)

全局配置文件中本人只记录了常用的几个  typeHandlers, objectFactory,objectWrapperFactory, reflectorFactory, plugins, databaseIdProvider 这几个只是作为了解,没做记录 mybatis-config.xml: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLI

MyBatis使用动态SQL标签的小陷阱

现在MyBatis越来越受大家的喜爱了,它的优势大家都知道,我就不多说了,直接说重点. MyBatis中提供动态SQL功能,我们可以使用<if><when><where><otherwise><foreach>等等,这样我们就可以写出根据条件生成的动态SQL了,但是,在这中间,我们经常用到的<if>标签有一个小误区,一不小心就会掉下去,下面先举个正常的例子: <select id="findActiveBlogWith

mybatis配置文件,注意标签配置顺序。否则报错The content of element type &quot;configuration&quot; must match &quot;(properties?,settings?,...怎么解决

感谢原作者http://www.cnblogs.com/zhoumingming/p/5417014.html 注意每个标签必须按照顺序写,不然就会提示错误 顺序是 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd

mybatis学习 十三 resultMap标签 一对一

1 .<resultMap>标签 写在mapper.xml中,由程序员控制SQL查询结果与实体类的映射关系. 在写<select>标签中,有一个resultType属性,此时select标签中,select语句的返回字段要与resultType属性指定的类的属性名称一致,此时成为自动映射,但是当要接收查询接口的类的属性名称,与select语句的返回字段不一致时,mybatis时无法自动进行映射的,此时需要程序员手动指定映射,此时就用到resultMap标签. 2. <resu

mybatis常用的动态标签

1,用来循环容器的标签foreach 1 //mapper中我们要为这个方法传递的是一个容器,将容器中的元素一个一个的 2 //拼接到xml的方法中就要使用这个forEach这个标签了 3 public List<Entity> queryById(List<String> userids); 4 5 //对应的xml中如下 6 <select id="queryById" resultMap="BaseReslutMap" >

mybatis association和collection标签怎么用

<resultMap type="Bill" id="ResultBill"> <id property="id" column="id"/> <result property="dh" column="dh"  /> <result property="rq" column="rq"/> <a

Mybatis中的CDATA标签的用法

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&" 是非法的. "<" 会产生错误,因为解析器会把该字符解释为新元素的开始. "&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始. 某些文本,比如 JavaScript 代码,包含大量 "<" 或 "

Mybatis中的CDATA标签

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&" 是非法的. "<" 会产生错误,因为解析器会把该字符解释为新元素的开始. "&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始. 某些文本,比如 JavaScript 代码,包含大量 "<" 或 "