正文
mybatis前台传来一个String,后后台执行sql变成了true
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
实际上参数传来的是一个字符串 3 ,不知道为什么会变成true 最后当然是查不到信息了。。
我在mapper映射文件里面使用了动态的where查询,我觉得跟这个关系不太大, 现在不知道怎么办,希望有思绪的朋友给个解决办法。
后台代码也粘一下(这个是查询一个表的信息,使用了动态的查询,这里唯独使用groupid时不能正确传参,也就是 写了个 3 到sql时执行变成了true...)
<sql id="find_sysuser_list_where">
<if test="sysuserCustomer!=null">
<if test="sysuserCustomer.userid!=null and sysuserCustomer.userid!=''">
and t.userid = #{sysuserCustomer.userid}
</if>
<if test="sysuserCustomer.username!=null and sysuserCustomer.username!=''">
and t.username = #{sysuserCustomer.username}
</if>
<if test="sysuserCustomer.mc!=null and sysuserCustomer.mc!=''">
and t.mc like '%${sysuserCustomer.mc}%'
</if>
<if test="sysuserCustomer.groupid=!null and sysuserCustomer.groupid!=''">
and t.groupid = #{sysuserCustomer.groupid}
</if>
</if>
</sql><select id="findSysuserList" parameterType="yycg.base.pojo.vo.SysuserQueryVo" resultType="yycg.base.pojo.vo.SysuserCustomer">
select * from
(select u.userid,
u.username,
u.groupid,
u.userstate,
u.sysid,
decode(u.groupid, '', (select mc from USERJD where id = u.sysid),
'', (select mc from USERJD where id = u.sysid),
'', (select mc from USERYY where id = u.sysid),
'', (select mc from USERGYS where id = u.sysid)
) mc
from sysuser u) t
<where>
<include refid="find_sysuser_list_where"></include>
</where>
</select>