方案一:
DAO 层的函数方法
User selectUser(String name,String area);
对应的 Mapper.xml
- <selectid="selectUser"resultMap="BaseResultMap">
- select * from user_user_t
- where user_name = #{0} and user_area=#{1}
- </select>
其中,#{0} 代表接收的是 dao 层中的第一个参数,#{1} 代表 dao 层中第二参数, 更多参数一致往后加即可.
方案二:
此方法采用 Map 传多参数. Dao 层的函数方法
User selectUser(Map paramMap);
对应的 Mapper.xml
- <selectid="selectUser"resultMap="BaseResultMap">
- select * fromuser_user_t
- where user_name = #{userName,jdbcType=VARCHAR}
- and user_area=#{userArea,jdbcType=VARCHAR}
- </select>
Service 层调用
- Private UserxxxSelectUser(){
- Map paramMap=new hashMap();
- paramMap.put("userName","对应具体的参数值");
- paramMap.put("userArea","对应具体的参数值");
- Useruser=xxx. selectUser(paramMap);
- }
个人认为此方法不够直观, 见到接口方法不能直接的知道要传的参数是什么.
方案三:(推荐)
Dao 层的函数方法
User selectUser(@param("userName")Stringname,@param("userArea")String area);
对应的 Mapper.xml
- <selectid="selectUser"resultMap="BaseResultMap">
- select * from user_user_t
- where user_name = #{userName,jdbcType=VARCHAR}
- and user_area=#{userArea,jdbcType=VARCHAR}
- </select>
来源: http://www.bubuko.com/infodetail-2644864.html