SSM项目从零开始到入门008-mybatis传递多个参数问题

来源:互联网 发布:用户画像静态数据 编辑:程序博客网 时间:2024/05/16 11:04
mybatis传递多个参数问题



根据用户名和密码查询信息    name     pwd

第一种方案

DAO层方法

public User findUserByNameAndPwd(String name,String pwd);

对应mapper.xml写法

<select id="findUserByNameAndPwd" resultMap="BaseResultMap">   select * from t_user where name = #{0} and pwd = #{1}</select>

第二种方案

Service层写法

public User findUserByNameAndPwd(String name,String pwd){Map paramMap=new HashMap();paramMap.put("name",name);paramMap.put("pwd", pwd);return userDao.findUserByNameAndPwd(paramMap);}

DAO层写法
public User findUserByNameAndPwd(Map paramMap);

对应的mapper.xml写法
<select id="findUserByNameAndPwd" resultMap="BaseResultMap">   select * from t_user where name = #{name,jdbcType=VARCHAR} and pwd=#{pwd,jdbcType=VARCHAR}</select>

第三种方案(个人推荐第三种写法)


DAO层写法

public User findUserByNameAndPwd(@param("name")String name,@param("pwd")String pwd);


对应的mapper.xml写法

<select id="findUserByNameAndPwd" resultMap="BaseResultMap">   select * from t_user where name = #{name,jdbcType=VARCHAR} and pwd=#{pwd,jdbcType=VARCHAR}</select>