mysql xml cdata_Mybatis映射文件<!CDATA[[]]> 转义问题

有没有觉得在mybatis映射文件写>(大于),"换位为"<", “>”,映射文件不能直接写>,必须经过转义

eg:

映射文件中:select name,age from user where regis_time > '2018-09-09'

(对应的sql脚本:

select name,age from user where regis_time > '2018-09-09'

)

很麻烦对不对,感觉转以后,好像不认识了,有个标签厉害了,帮你解决转义。-, 映射文件的sql就用下面的方式写

select name,age from user where regis_time ]]> '2018-09-09'

在xml文件中,& ,", '不能直接存储,必须转移为实体,如"<", “>”才能被保存进xml文档,

的意思是遇到 <= ,>=这些运算符按照原文本写入

再提供一个复杂的demo -- mysql查询指定日期区间内的数据

MySQL 查询时 date>= dateA  and date<= dateB,这个区间是左闭右开区间的,要想让右闭需要用 date_sub(参数1, interval -1 day);

sql脚本:

select name,age from user where age >18 AND regist_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)

映射文件中的脚本

select name,age from user where age >18

AND om.create_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval-1day)

date_sub(param1, param2);  param1代表时间,param2代表要减去的天数, 这里传个-1,则表示要减去-1,就表示+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值