mybatis-parameterType传入包装类查询条件

vo类

package com.gyf.vo;

import com.gyf.model.User;

public class UserQueryVO {
    public User user;

    public UserQueryVO(User user) {
        this.user = user;
    }

    public UserQueryVO() {
    }

    public User getUser() {
        return user;
    }

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

userMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gyf.mapper.UserMapper">
    <select id="findUserByUserQueryVo" parameterType="userQueryVO" resultType="user">
        SELECT u.* FROM user u
        WHERE u.id = #{user.id}
    </select>
</mapper>

测试类

package com.gyf.test;

import com.gyf.dao.UserDao;
import com.gyf.dao.UserDaoImpl;
import com.gyf.mapper.UserMapper;
import com.gyf.model.User;
import com.gyf.vo.UserQueryVO;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Demo05 {

    SqlSession session;

    @Before
    public void before() throws IOException {
        //读取配置文件
        InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
        //通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        session = sessionFactory.openSession();

    }

    @After
    public void after(){
        session.close();
    }
    @Test
    public void test1() throws IOException {
        //查找用户
        //通过session拿到接口的代理,代理可以直接转为接口
        UserMapper userMapper = session.getMapper(UserMapper.class);
        //通过模型的包装类来查询用户
        UserQueryVO query = new UserQueryVO();
        User user = new User();
        user.setId(1);
        query.setUser(user);
        List<User> users =  userMapper.findUserByUserQueryVo(query);
        System.out.println(users);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44682587/article/details/107725380
今日推荐