第一种方案
- Dao层方法
public interface UserMapper{
User selectUser(String name,String area);
}- 对应Mapper.xml
<select id="selectUser" resultMap="BaseResultMap">
select * from user where user_name = #{0} and user_area=#{1}
</select>其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。
第二种方案
- Dao层方法
public interface UserMapper{
User selectUser(Map<String,Object> map);
}- 对应Mapper.xml
<select id="selectUser" resultMap="BaseResultMap">
select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR}
and user_area=#{userArea,jdbcType=VARCHAR}
</select>- service层调用
public class UserService{
@Autowired
private UserMapper userMapper;
@Override
public User selectUser(){
Map<String,Object> map = new HashMap<String,Object>();
map.put("userName","对应参数值");
map.put("userArea","对应参数值");
return userMapper.selectUser(map);
}
}第三种方案
- Dao层方法
public interface UserMapper{
User selectUser(@param("userName") String name,@param("userArea") String Area);
}- 对应Mapper.xml
<select id="selectUser" resultMap="BaseResultMap">
select * from user_user_t where
user_name = #{userName}
and user_area=#{userArea}
</select> 个人平时第二、三种用的最多,仅供参考!!!

本文介绍了使用MyBatis进行多参数查询的三种方法:通过方法参数直接传递、使用Map作为参数以及使用@param注解指定参数名称。每种方法都详细展示了对应的DAO层接口定义及XML映射文件配置。
358

被折叠的 条评论
为什么被折叠?



