mybatis的sql语句in字段的使用

在mybatis的xml命名空间中,出现用"in"关键字查询时,会出现查不出来值,为空,

解决办法:

将"in"后面括号里的变量的"#"替换成"$",

例如:

select * from user where id in(${xxx})
原因如下:

MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一样(自动在前后加单引号)也就是说,他把你传入的字符串并没有当做多个值,而是当做一个大的字符串,所以查询不到值)

而MyBatis看到${}的时候会直接将之替换成变量的值而不做任何处理。

猜你喜欢

转载自blog.csdn.net/qq_41340666/article/details/80990015
今日推荐