mybatis排序对于一个整数类型的数据排序时怎么按照ascii码来排序了呢?
刚才在做一个按照problemId(数据库中存储用的是bigint)进行排序的功能
mybatis中是这样写的
然后我排序之后,发现居然是按照ascii码进行的排序,这显然不行。。然后我去数据库又看了下,
结果是正常的,,并没有按照ascii码来进行排序,那么问题就出现在mybatis解析了。。
然后我按照百度的方法给${sort}后面加了个0,果然奏效,但是很明显,这样肯定会存在很大的效率问题。。所以这种情况到底该怎么解决呢?
mybatis中是这样写的
<choose>
<when test="sort != null and sort.trim() != ''">
order by ${sort} ${order}
</when>
<otherwise>
order by `problem_id` asc
</otherwise>
</choose>
然后我排序之后,发现居然是按照ascii码进行的排序,这显然不行。。然后我去数据库又看了下,
SELECT * FROM `test_problem` ORDER BY problem_id asc;
结果是正常的,,并没有按照ascii码来进行排序,那么问题就出现在mybatis解析了。。
然后我按照百度的方法给${sort}后面加了个0,果然奏效,但是很明显,这样肯定会存在很大的效率问题。。所以这种情况到底该怎么解决呢?
...全文
相关推荐
Mybatis排序无效问题解决.doc
#### 问题描述在实际开发过程中,当尝试通过动态SQL的方式实现排序功能时,可能会遇到一个常见问题:使用`order by #{sortInfo}`进行排序时,发现查询结果并未按照预期排序。
Mybatis中#{}和${}传参的区别及#和$的区别小结
因此,如果需要动态排序或使用数据库对象如表名,才推荐使用`${}`,但必须谨慎处理用户输入,避免SQL注入。`#`和`$`的区别在于:1.
Mybatis中foreach标签带来的空格\换行\回车问题及解决方案
"Mybatis foreach标签带来的空格、换行、回车问题及解决方案"Mybatis 中的 foreach 标签是一个功能强大的工具,允许开发者在 SQL 语句中循环遍历集合对象。
Mybatis plus 配置多数据源的实现示例
总结来说,Mybatis Plus 结合 Spring Boot 的多数据源配置,为开发者提供了强大的工具,使得在处理复杂业务场景时,能更灵活地管理和操作多个数据库。
Java中mybatis关于example类的使用详解
例如,Example类生成的SQL语句可能会很长,影响数据库性能。八、结论MyBatis中的Example类是一个非常有用的工具,可以简化数据库查询操作。


