配置文件
<select id="search" parameterType="per.czt.ssm.domain.User"
resultMap="userMap">
select id as uid,username,password from user where 1=1
<if test="id!=null">
and u.id=#{id}
</if>
<if test="username!=null">
and username=#{username}
</if>
<if test="username1!=null">
and username like "%"#{username1}"%"
</if>
<if test="password!=null">
and password=#{password}
</if>
<!--这里的num为map中传递的key,#{num}为key对应的value->
<if test="num!=null">
limit #{num}
</if>
<!--这里定义的参数以及值,要与map中要对应-->
</select>
测试类,调用service进而在dao实现调用
public static void main(String []args)
{
Map<String,Object> map=new HashMap<>();
map.put("id", 5);
map.put("username1", "张");
map.put("num", 5);
List<User> userList=userService.search(map);
System.out.println("size:"+userList.size());
for(User u:userList)
{
System.out.println("id:"+u.getId()+" "+"username:"+u.getUsername()+" "+"password:"+u.getPassword());
}
}
service层
@Override
public List<User> search(Map map) {
// TODO Auto-generated method stub
return userDao.search(map);
}
dao层
public List<User> search(Map map)
{
List<User> userList=this.getSqlSession().selectList("per.czt.ssm.domain.search", map);
return userList;
}