最近学习mybatis的时候遇到一个查询的结果集没有排序问题
代码如下
<resultMap id="selectList" type="com.page.mvc.Vo.registerVo" >
<id property="registerVo_id" column="id" jdbcType="VARCHAR"/>
<result property="registerVo_username" column="username" jdbcType="VARCHAR"/>
<result property="registerVo_password" column="password" jdbcType="VARCHAR"/>
</resultMap>
<select id="selectListId"
resultMap="selectList" parameterType="java.util.Map">
select a.id as registerVo_id,a.username as registerVo_username
,a.password as registerVo_password from register a where a.id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
order by #{sort}
</select>
开始以为是传入参数有问题,但是打印了下sql日志没问题啊,拿到mysql执行也是排序过的,突然想到了
# ,$,符号的区别,#符号的参数是 '参数内容',而$ 没有 '' 这个符号
本文探讨了使用MyBatis进行数据库查询时遇到的结果集未按预期排序的问题,并通过对比#和$符号在SQL参数处理上的差异找到了解决方案。
874

被折叠的 条评论
为什么被折叠?



