通过 pojo 传递查询条件

传递 pojo 包装对象

开发中通过 pojo 传递查询条件 ,查询条件是综合的查询条件,不仅包括用户查询条件还包括其它的查
询条件(比如将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数。Pojo 类中包含 pojo。
需求:根据用户名查询用户信息,查询条件放到 QueryVo 的 user 属性中。

编写 QueryVo

package com.yg.domain;

import java.io.Serializable;

public class QueryVo implements Serializable {
    private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    @Override
    public String toString() {
        return "QueryVo{" +
                "user=" + user +
                '}';
    }
}

编写持久层接口

  /**
     * 根据QueryVo中的条件查询用户
     */
    List<User> findByVo(QueryVo vo);

持久层接口的映射文件

<!--根据用户名称查询,参数变成一个QueryVo对像-->
    <select id="findByVo" resultMap="userMap" parameterType="com.yg.domain.QueryVo">
        SELECT * FROM USER WHERE username LIKE #{user.userName}
    </select>

测试包装类作为参数


    /*根据QueryVo中的条件查询用户*/
    @Test
    public void testQueryVo() {
        QueryVo vo=new QueryVo();
        User user=new User();
        user.setUserName("%王%");
        vo.setUser(user);
        List<User> users=userDao.findByVo(vo);
        for (User user1 : users) {
            System.out.println(user1);
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_44883727/article/details/106995532
今日推荐