Mybatis编写dao的实现类

dao实现类impl

public class UserDaoImpl implements UserDao {

    private SqlSessionFactory factory;
    public UserDaoImpl(SqlSessionFactory factory){
        this.factory = factory;
    }

    public List<User> findAll() {
        //1.使用工厂创建session对象
        SqlSession session = factory.openSession();
        //2.使用session执行查询所有方法
        List<User> users = session.selectList("dao.UserDao.findAll");//namespace+id
        session.close();
        return users;
    }
}

test

public class MybatisTest {
    public static void main(String[] args)throws Exception {
        //1.读取配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2.创建SqlSessionFactory的构建者对象
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        //3.使用构建者创建工厂对象SqlSessionFactory
        SqlSessionFactory factory = builder.build(in);

        //4.使用SqlSessionFactory生产SqlSession对象
        //SqlSession session = factory.openSession();
        //5.使用SqlSession创建dao接口的代理对象
        //UserDao userDao = session.getMapper(UserDao.class);

		//4.使用代理对象执行方法
		UserDao userDao = new UserDaoImpl(factory);


        //5.使用代理对象执行查询所有方法
        List<User> users = userDao.findAll();
        for(User user : users)
        {
            System.out.println(user);
        }
        //7.释放资源
        session.close();
        in.close();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章