MyBatis动态排序问题
来源:互联网 发布:淘宝客服管理方案 编辑:程序博客网 时间:2024/06/10 04:58
在使用MyBatis时加入来按指定字段进行排序
ORDER BY <choose> <when test="sort!=null"> #{sort,jdbcType=VARCHAR} <if test="order!=null"> #{order,jdbcType=VARCHAR} </if> </when> <otherwise> id asc , create_time asc </otherwise> </choose>
执行后,加入的排序无效
原因是: #{order,jdbcType=VARCHAR},MyBatis会自动将排序字段当成一个字符串,等同于order by ‘create_time’ ‘desc’,可以通过执行,但无效,与order by create_time desc结果不同
解决方法: 使用
ORDER BY <choose> <when test="sort!=null"> ${sort} <if test="order!=null"> ${order} </if> </when> <otherwise> id asc , create_time asc </otherwise> </choose>
注: #
能很大程度的防止SQL注入 $
无法防止Sql注入 $
用于传入数据库对象 <![CDATA[]]>
,在该符号内的语句,不会被当成字符串来处理,而是直接当成sql语句,比如要执行一个存储过程。在mapper文件中写sql语句时,遇到特殊字符时,如:< > 等,建议使用
1 0
- MyBatis动态排序问题
- mybatis动态排序
- MyBatis动态sql问题
- Mybatis、ibatis动态SQL问题
- Mybatis,Order By排序问题
- Mybatis,Order By排序问题
- mybatis ORDER BY排序问题
- MyBatis动态参数排序的注意事项
- ibatis&mybatis组装动态查询&排序
- 动态规划合并排序问题
- Mybatis中PaginationQueryList无法进行排序问题
- mybatis中order by排序无效问题
- mybatis中order by排序无效问题
- 关于mybatis返回map是排序问题
- mybatis执行动态条件排序时候要用$而不是#
- MyBatis排序时使用order by 动态参数时需要注意,用$而不是#, #{}和${}的区别以及order by注入问题
- mybatis 排序
- mybatis排序
- altium designer网络标号和总线设计
- MySQL --- MySQL的定时器和存储过程
- 关于Guitar Pro声部的使用技巧【二】
- 0-1背包问题动态规划代码实现(C++实现)
- CMakeLists.txt
- MyBatis动态排序问题
- js页面处理时间-页面如何显示时间
- 文章标题
- 链表倒数第n个节点
- ASP.NET MVC 第一次访问每一个控制器特别慢.
- poj1486 (二分图匹配)
- C#实现字符的全角,半角转换
- QSPI nor flash相关驱动代码
- 感知机 Python代码