1) 用String代替
- String sql = "uid = '" + username + "' and pwd='" + password + "'";
- Integer r = (Integer) sqlMap.queryForObject("checkLogin", sql);
String sql = "uid = '" + username + "' and pwd='" + password + "'";
Integer r = (Integer) sqlMap.queryForObject("checkLogin", sql);
- <select id="checkLogin" parameterClass="java.lang.String" resultClass="java.lang.Integer">
- SELECT count(*) AS value FROM userinfo WHERE $sql$
- </select>
2)用 Map
- Map map=new HashMap();
- map.put("uid", username);
- map.put("pwd", password);
- Integer r = (Integer) sqlMap.queryForObject("checkLogin2", map);
Map map=new HashMap();
map.put("uid", username);
map.put("pwd", password);
Integer r = (Integer) sqlMap.queryForObject("checkLogin2", map);
一种写法:
- <select id=" " parameterClass="java.util.Map" resultClass="java.lang.Integer">
- SELECT count(*) AS value FROM userinfo WHERE uid=#uid# and pwd=#pwd#
- </select>
另一种写法
- <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
- public Student queryStudentsByNameAndId(HashMap<String,String> hashMap) {
- Student s=null;
- try {
- s=(Student)sqlMapClient.queryForObject("selectStudentByIdAndName",hashMap);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return s;
- }
public Student queryStudentsByNameAndId(HashMap<String,String> hashMap) {
Student s=null;
try {
s=(Student)sqlMapClient.queryForObject("selectStudentByIdAndName",hashMap);
} catch (SQLException e) {
e.printStackTrace();
}
return s;
}
- <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>