您的位置:首页 > 其它

IBatis查询条件为多个参数时如何配置

2014-08-06 14:21 281 查看


1) 用String代替

Java代码



String sql = "uid = '" + username + "' and pwd='" + password + "'";

Integer r = (Integer) sqlMap.queryForObject("checkLogin", sql);

Xml代码



<select id="checkLogin" parameterClass="java.lang.String" resultClass="java.lang.Integer">

SELECT count(*) AS value FROM userinfo WHERE $sql$

</select>


2)用 Map

Java代码



Map map=new HashMap();

map.put("uid", username);

map.put("pwd", password);

Integer r = (Integer) sqlMap.queryForObject("checkLogin2", map);

一种写法:

Xml代码



<select id=" " parameterClass="java.util.Map" resultClass="java.lang.Integer">

SELECT count(*) AS value FROM userinfo WHERE uid=#uid# and pwd=#pwd#

</select>

另一种写法

Xml代码



<parameterMap class="java.util.HashMap" id="parameterMap">

<parameter property="uid"/>

<parameter property="pwd"/>

</parameterMap>

<select id="checkLogin2" resultClass="java.lang.Integer" parameterMap="parameterMap">

SELECT count(*) AS value FROM userinfo WHERE uid=? and pwd=?

</select>


3)用bean

Java代码



public Student queryStudentsByNameAndId(HashMap<String,String> hashMap) {

Student s=null;

try {

s=(Student)sqlMapClient.queryForObject("selectStudentByIdAndName",hashMap);

} catch (SQLException e) {

e.printStackTrace();

}

return s;

}

Xml代码



<parameterMap class="java.util.HashMap" id="parameterMap">

<parameter property="sid"/>

<parameter property="sname"/>

</parameterMap>

<select id="selectStudentByIdAndName" resultClass="Student" parameterMap="parameterMap">

select * from student where sid=? and sname=?

</select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐