Mybatis中SQL语句在数据库可以执行,mybatis中无法执行,list返回空集,查不出数据

it2026-06-12  10

近期由于学校安排实训,学习ssm框架,无奈只能从头学。在遇到mybatis查询时出现了一些问题。在使用mybatis模糊查询的时候无法查询数据,list本应返回多条数据,结果却是空集。

<select id="findUserByName" parameterType="java.lang.String" resultType="pojo.User"> SELECT * FROM USER WHERE username LIKE '%${value}%' </select>

sql语句没错,但是有SQL注入风险,改为

<select id="findUserByName" parameterType="java.lang.String" resultType="pojo.User"> SELECT * FROM USER WHERE username LIKE CONCAT(CONCAT('%',#{username}),'%') </select>

但是在执行的时候发现list为空

此时看一下你的sqlMap.xml配置文件

你的数据库url上没有配置字符编码集,导致SQL语句在mybatis无法执行,改正后

<property name="url" value="jdbc:mysql://localhost:3306/p_information?characterEncoding=utf-8" />

此时再运行

问题解决!

最新回复(0)