文档章节

MyBatis SQL不能使用运算符的解决方案

muzi1994
 muzi1994
发布于 2017/02/14 10:17
字数 223
阅读 211
收藏 0

方法一:使用xml转义字符

如:

select phone, user_head, nickname, real_name, certificate_type, certificate_number, email, birthday_date,
(year(now())-year(birthday_date)-1) + (DATE_FORMAT(birthday_date, '%m%d') <= DATE_FORMAT(now(),'%m%d')) as age,heigth, weight, profession from yxs_user_info
where user_uuid = (select uuid from yxs_user_login_info from uuid2=#{uuid2})

 

select phone, user_head, nickname, real_name, certificate_type, certificate_number, email, birthday_date,<![CDATA[(year(now())-year(birthday_date)-1) + (DATE_FORMAT(birthday_date, '%m%d') &lt;= DATE_FORMAT(now(),'%m%d')) as age]]>,heigth, weight, profession 
from yxs_user_info  where user_uuid = (select uuid from yxs_user_login_info from uuid2=#{uuid2})

附:XML转义字符

&lt;

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

单引号

&quot;

"

双引号

方法二: 使用<![CDATA[运算内容]]>

因为这个是xml格式的,所以不允许出现类似“>”这样的字符,但是都可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析。

select phone, user_head, nickname, real_name, certificate_type, certificate_number, email, birthday_date,<![CDATA[(year(now())-year(birthday_date)-1) + (DATE_FORMAT(birthday_date, '%m%d') <= DATE_FORMAT(now(),'%m%d')) as age]]>,heigth, weight, profession from yxs_user_info  where user_uuid = (select uuid from yxs_user_login_info from uuid2=#{uuid2})

 

© 著作权归作者所有

共有 人打赏支持
muzi1994

muzi1994

粉丝 5
博文 117
码字总数 31741
作品 0
朝阳
私信 提问
Mybatis拦截器之数据权限过滤与分页集成

需求场景 最近项目有个数据权限的业务需求,要求大致为每个单位只能查看本级单位及下属单位的数据,例如:一个集团军下属十二个旅,那么军级用户可以看到所有数据,而每个旅则只能看到本旅部...

佛系程序猿灬
2018/07/21
0
0
疑难杂症-MyBatis一级缓存引起的分页插件失效

症状:使用自定义MyBatis分页插件,只有分页参数不同的方法在短时间内使用不同分页参数查询出来的结果相同。 病因:自定义MyBatis插件拦截目标为StatementHandler,而在同一个SqlSession中,...

SawyerZhou
2018/12/06
0
0
数据库逆向框架代码生成工具:MyBatis Generator的使用

MyBatis Generator的详细介绍http://mybatis.github.io/generator/index.html MyBatis Generator With Maven http://mybatis.github.io/generator/running/runningWithMaven.html 1前言 前段......

蛙牛
2014/02/16
0
28
Mybatis - 动态Sql

动态 SQL MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要...

Romanceling
2016/10/12
12
0
Mybatyis foreache 中的BUG

标签在Mybatis的xml配置中使用集合,主要是用到了foreach动态语句。 foreach的参数: foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素...

ahpome
2018/10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript继承(二)——借用构造函数

JavaScript继承(一)——原型链中提出原型链继承的两个问题:一是原型的数据共享问题,二是创建子类型的实例时,不能向父类型的构造函数中传递参数。这两个问题的根源还是在于使用原型模式创...

Bob2100
40分钟前
0
0
day25:比较两个文件内容|杀进程|并发备份数据库|并发进程备份mysql库|监控全国CDN网站节点|

1、有两个文件 a.txt 和 b.txt,把 a.txt 中有的但 b.txt 中没有的行找出来,并写入列 c.txt,然后计算 c 的行数; 注释:比较两个文件两个文件不同,可以用的方法:diff md5sum grep -vf $1 $...

芬野de博客
56分钟前
4
0
抓包工具Charles

背景介绍 Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和i...

Jack088
57分钟前
2
0
徒手撸一个简单的RPC框架

徒手撸一个简单的RPC框架 之前在牛逼哄哄的 RPC 框架,底层到底什么原理得知了RPC(远程过程调用)简单来说就是调用远程的服务就像调用本地方法一样,其中用到的知识有序列化和反序列化、动态...

不学无数的程序员
今天
2
0
Java 面试题目最全集合1000+ 大放送,能答对70%就去BATJTMD试试~

2019,相对往年我们会发现今年猎头电话少了,大部分企业年终奖缩水,加薪幅度也不如往年,选择好offer就要趁早,现在开始准备吧,刷一波Java面试题,能回答70%就去BATJTMD大胆试试~ 以下是2...

mikechen优知
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部