使用mybaits动态sql查询数据,当传入数据为中文,无返回值的解决方案
问题描述:要模糊查询“地区名称”相同的学生集合,传入的参数为中文。单元测试不报错,但没有结果。这个问题困扰了一个半小时,终于解决了。开心
解决方案:原因是传入的参数乱码了。在配置文件中设置编码格式为utf-8就可以了。
1、StudentMapper.xml 中的动态sql语句。
<select id="getPageUser" resultMap="BaseResultMap" parameterType="Map" >
SELECT * FROM student
<where>
<if test="cityarea!=null">
cityarea like '%${cityarea}%'
</if>
</where>
</select>
2、测试方法中赋值。
3、在配置文件中设置编码格式
4、大功告成。