编写UserMapper接口,不使用DAO类。
看一下目录结构:
修改namespace为mapper所在包
新建一个UserMapper接口:
package com.cx.mapper;
import com.cx.pojo.User;
import java.util.List;
import java.util.Map;
public interface UserMapper {
public User findById(int id);
public List<User> findAll();
public User findAllByCondition(User user);
public void insert(User user);
public void update(User user);
public void updateByCondition(User user);
public void deleteById(int id);
public void deleteArray(int[] ids);
public void deleteList(List<Integer> list);
public void deleteMap(Map<String, Object> map);
}
测试文件,在setup中添加:
@Before
public void setUp() throws Exception{ // 在每个测试方法之前执行
System.out.println("@Before标注的方法,在每个测试方法之前执行...");
String resource = "mybatis-config.xml"; //mybatis配置文件
//得到配置文件的流
Reader reader = Resources.getResourceAsReader(resource);;
//创建会话工厂SqlSessionFactory,要传入mybaits的配置文件的流
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
}
修改testFindById测试方法:
@Test
public void testFindById() {
// String resource ="mybatis-config.xml";
// Reader reader = null;
// try {
// reader = Resources.getResourceAsReader(resource);
// SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
// SqlSession session = sqlSessionFactory.openSession();
//
// User user = session.selectOne("findById",2);
//
// session.commit();
// }catch (IOException e){
// e.printStackTrace();
// }
SqlSession session = sqlSessionFactory.openSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = userMapper.findById(1);
System.out.println(user.getName());
}
测试通过