就是加上了dao层的实现类,没有用sqlSession的getMapper方法创建代理对象,使用了sqlSession的selectList方法来实现
相较于目前使用的基于xml配置代理对象的dao接口开发(见上篇博客),加入了一下内容
UserDaoImpl
package Dao;
import Bean.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.util.List;
public class UserDaoImpl implements UserDao{
private SqlSessionFactory sqlSessionFactory;
public UserDaoImpl(SqlSessionFactory sqlSessionFactory){
this.sqlSessionFactory=sqlSessionFactory;
}
public List<User> findAll() {
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> user = sqlSession.selectList("Dao.UserDao.findAll");
sqlSession.close();
return user;
}
}
test
@Test
public void test() throws Exception{
//1.加载配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.根据配置文件创建sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);
//3.创建dao对象,执行其sqlSession的selectList方法
UserDao userDao=new UserDaoImpl(sqlSessionFactory);
//4.执行方法
List<User> all = userDao.findAll();
for(User user:all){
System.out.println(user);
}