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);
}
}