mybatis的转义字符
关于转义字符
and CREATEDATE >=#{startDate} 大于开始时间
and CREATEDATE <=#{endDate} 小于结束时间
三个日期字段存入数据库都是字符串,不是date型,xml中>,<不能被正确解析,需要XML转义字符
有一点,虽然都是字符串但是并不需要转为ascii码值来比较大小,我之前用了ASCII(CREATEDATE )与ASCII(#{startDate} )作比较,并不起作用。
但是两个字符串在这里可以用大于号和小于号直接比较大小。不知道日期格式可不可以直接比较,以后试试,待续。
字符转义的相关说明
在mapper.xml文件中,在多个if中不需要使用and
例如:
//下面这两个是说明大于等于开始时间并且小于等于结束时间
<if test="operationTimeOpen!=null "> and OPERATIONTIMEOPEN >=#{operationTimeOpen}</if>
<if test="operationTimeEnd!=null "> and OPERATIONTIMEEND <=#{operationTimeEnd}</if>
<if test=' testString != null and testString == "A" '> AND 表字段 = #{testString} </if>
详细代码如下
<select id="getTRbstAttenBaseCount" resultType="java.lang.Long">
SELECT COUNT(1)
FROM `t_rbst_atten_base`
<where>
<if test="tableName!=null and tableName!=''">`atten_name` LIKE CONCAT('%',#{tableName},'%')</if>
<if test="month!=null and month!=''">AND `atten_month` = #{month}</if>
<if test="operator!=null and operator!=''">AND `operat