mybatis学习(2)
Mybatis 传统DAO开发模式
在上节完成了mybatis的基础配置,上节实现的方法使用的是动态代理,传统的Dao实现方法是使用接口的实现类,所以先创建一个实现类,
public class MybatisImpl implements IMybatis { private SqlSessionFactory factory; public MybatisImpl(SqlSessionFactory factory) { this.factory=factory; } public List<Account> findAll() { SqlSession session = factory.openSession(); //Sqlession中的方法参数statement为mapper文件里的:接口名.方法名 List<Account> list = session.selectList("pers.lyh.mybatis.IMybatis.findAll"); session.close(); return list; }
}
上例子里省略了其他的接口方法,这里只是举个例子,接下来在test方法里调用dao的实现类,大致过程和动态代理相似
public class MybatisTest02 { IMybatis mapper; InputStream stream; IMybatis im; @Before public void befor() throws IOException { // 1.读取SQLMapper.xml文件资源内容 stream = Resources.getResourceAsStream("mybatis-config.xml"); // 2.创建SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); // 3.创建SQLSessionFactory SqlSessionFactory sessionFactory = builder.build(stream); // 4.创建接口实现类 im = new MybatisImpl(sessionFactory); } @Test//测试方法 public void findAlltest() { List<Account> list = im.findAll(); System.out.println(list); } @After//在测试方法执行完成之后执行 public void destroy() throws Exception{ //6.释放资源 stream.close(); } }
运行结果(正常):

坚持,向着更优秀的人前进.

浙公网安备 33010602011771号