ibatis多个条件查询的解决办法总结
ibatis多个条件查询的解决办法总结
sql语句为:select * from t_user where name=#name# and sex=#sex#;
1.拼字符串,sql语句改为select * from t_user where $sql$(是$,而不是#);
String sql=" name='name' and sex='sex' ";也就是将多个参数拼成一个字符串,用这个
字符串作为参数。
2.用map作参数。将parameterClass的值改为java.util.Map,在程序中创建个map对象,
以sql语句中的变量为健,map.put("name", "liang");map.put("sex", "0");再将这个
map作为查询方法的参数。
3.用parameterMap。配置文件中加入:
<parameterMap id="param">
<parameter property="name"/>
<parameter property="sex"/>
</parameterMap>
sql语句改为:select * from t_user where name=? and sex=?
配置文件中的select标签中添加parameterMap="param",去掉parameterClass。
然后在程序中建map,以parameterMap中的参数为健。
这里有个疑问,就是这种方法和第二种方法本质上有什么区别?
4.新建个pojo,笨方法。