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();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章