首页 > 代码库 > mybati之parameterType传递多个参数
mybati之parameterType传递多个参数
当在查询的时候需要传入多个参数的时候该怎么办呢:shiyong
1,封装成一个Model对象,底层HashMap还是一个
2,使用HashMap封装
3,使用注解,@param
queryUserByuserNameAndPass(String userName,String PassWord); //返回值类型为Usre
//sql
<select id="queryUserByuserNameAndPass" resultType="User">
select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//会报错的
</select>
改为如下:
<select id="queryUserByuserNameAndPass" resultType="User">
select * from user u where u.user_name=#{0} and u.pass_word=#{1}//运行成功但是,可读性不高
</select>
//使用HashMap定义:
HashMap <String,Object> map=new HashMap<String,Object>();
map.put("userName","zhangsan");
map.put("password","123456");
queryUserByuserNameAndPass(map);//为返回值类型为User
//sql 如下:
<select id="queryUserByuserNameAndPass" resultType="User">
select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//
</select>
ibati用HashMap封装是sql如下:
<select id="queryUserByuserNameAndPass" parameterClass="java.util.HashMap" resultType="User">
select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}
</select>
mybati之parameterType传递多个参数