<typeAlias alias="product" type="com.cms.pojo.TBankproddata" />
<select id="getProd" parameterClass="java.util.Map" resultClass="product">
select stuid,stuname from student stuid = '$stuid$'
</select>这是sql语句,现在可以查询出来泛型的list,但是我换成#stuid#,就是空的,不报错,返回的list为空,郁闷啊,ibatis的包换了两个了,不知道是哪里的问题
3 回答
隔江千里
TA贡献1906条经验 获得超10个赞
请问丢进来的stuid是Map么?你XML里参数写着parameterClass="java.util.Map"
我看你的SQL语句,判断stuid就是一个普通类型吧 这个不应该是parameterClass="java.lang.String"或者parameterClass="java.lang.Integer"吗?
照样用##吧
阿晨1998
TA贡献2037条经验 获得超6个赞
建议你网上查查#与$区别:
在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如:
select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为整型,那么#id#就是id类型。
select * from table where id = $id$ ,如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成 select * from table where id = '$id$'
添加回答
举报
0/150
提交
取消