输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。
传递pojo的包装对象
需求
完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的)
定义包装类型pojo:UserQueryVo.java
针对上边需求,建议使用自定义的包装类型的pojo,在包装类型的pojo中将复杂的查询条件包装进去。
接口 UserMapper.java
public interface UserMapper { //用户信息综合查询 public List<UserCustom> findUserList(UserQueryVo userQueryVo) throws Exception;
}
代理文件 UserMapper.xml
<!-- 用户信息综合查询
userCustom 是 UserQueryVo类中的属性 #{userCustom.sex}:取出pojo包装对象中性别值 ${userCustom.username}:取出pojo包装对象中用户名称 --> <select id="findUserList" parameterType="cn.itcast.mybatis.po.UserQueryVo" resultType="cn.itcast.mybatis.po.UserCustom"> select * from user where user.sex = #{userCustom.sex} and user.username LIKE '%${userCustom.username}%' </select>
测试代码