mapper代理
2018-11-28 本文已影响0人
李洋codingfarmer
配置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.neuedu.day02.mapper.UserMapper">
<select id="findUserById" parameterType="int" resultType="user">
select * from t_user where user_id = #{user_id}
</select>
</mapper>
接口(四种配对原则)
public interface UserMapper {
//第一种mapper代理,保留xml
public User findUserById(int id);
//第二种mapper代理,添加注释
@Select("select * from t_user where user_id = #{user_id}")
public User selectUserById(int id);
@Insert("insert into t_user(user_id,user_name,user_pwd,user_email,user_idcard,user_power) values (null,#{user_name},#{user_pwd},#{user_email},#{user_idCard},#{user_power})")
public int insertUser(User user);
@Update("update t_user set user_name=#{user_name},user_pwd=#{user_pwd},user_email=#{user_email},user_idcard=#{user_idCard} where user_id=#{user_id}")
public int updateUser(User user);
@Delete("delete from t_user where user_id=#{user_id}")
public int deleteUser(int id);}
sqlmapconfig.xml (mapper 终极 整包扫描)
<mappers>
<!-- 整包扫描 -->
<package name="com.neuedu.day02.mapper"/>
</mappers>
DaoImpl dao层实现类
@Override
public User findUserById(int id) throws IOException {
//第一步读取SqlMapConfig
//指定文件位置
//String resource="config/SqlMapConfig.xml";
//读取资源文件
//InputStream input=Resources.getResourceAsStream(resource);
//获取SqlSessionFactory
//SqlSessionFactory factory= new SqlSessionFactoryBuilder().build(input);
//获取SqlSession
SqlSession session=factory.openSession();
//执行查询
UserMapper userMapper=session.getMapper(UserMapper.class);
User u=userMapper.findUserById(id);
//关闭连接
session.close();
return u;
}
@Override
public int delUser(int id) throws IOException {
//第一步读取SqlMapConfig
//指定文件位置
//String resource="config/SqlMapConfig.xml";
//读取资源文件
//InputStream input=Resources.getResourceAsStream(resource);
//获取SqlSessionFactory
//SqlSessionFactory factory= new SqlSessionFactoryBuilder().build(input);
//获取SqlSession
SqlSession session=factory.openSession();
//执行查询
int count=session.delete("user.delUser",6);
System.out.println(count);
//关闭连接
session.close();
return count;
}
@Override
public User selectUserById(int id) {
SqlSession session=factory.openSession();
//执行查询
UserMapper userMapper=session.getMapper(UserMapper.class);
User u=userMapper.selectUserById(id);
//关闭连接
session.close();
return u;
}
@Override
public int insertUser(User user) {
SqlSession session=factory.openSession();
//执行查询
UserMapper userMapper=session.getMapper(UserMapper.class);
int count=userMapper.insertUser(user);
//关闭连接
session.close();
return count;
}
@Override
public int updateUser(User user) {
SqlSession session=factory.openSession();
//执行查询
UserMapper userMapper=session.getMapper(UserMapper.class);
int count=userMapper.updateUser(user);
//关闭连接
session.close();
return count;
}
@Override
public int deleteUserById(int id) {
SqlSession session=factory.openSession();
//执行查询
UserMapper userMapper=session.getMapper(UserMapper.class);
int count=userMapper.deleteUser(id);
//关闭连接
session.close();;
return count;
}
测试类
@Test
public void testFind() throws IOException{
IUserDao userDao=new UserDaoImpl(factory);
User u=userDao.findUserById(1);
System.out.println(u.getUser_name());
}
@Test
public void testSelect() throws IOException{
IUserDao userDao=new UserDaoImpl(factory);
User u=userDao.selectUserById(1);
System.out.println(u.getUser_name());
}
@Test
public void testInsert() throws IOException{
IUserDao userDao=new UserDaoImpl(factory);
User user=new User();
user.setUser_name("chenhao");
user.setUser_pwd("654321");
user.setUser_power(0);
user.setUser_email("chenhao.newedu.com");
user.setUser_idCard("210101200006061234");
int count=userDao.insertUser(user);
System.out.println(count);
}
@Test
public void testUpdate() throws IOException{
IUserDao userDao=new UserDaoImpl(factory);
User user=new User();
user.setUser_id(8);
user.setUser_name("chenhao");
user.setUser_pwd("123456");
user.setUser_email("chenhao.newedu.com");
user.setUser_idCard("210101200006061234");
int count=userDao.updateUser(user);
System.out.println(count);
}
@Test
public void testDelete() throws IOException{
IUserDao userDao=new UserDaoImpl(factory);
int count=userDao.deleteUserById(9);
System.out.println(count);
}