在网上搜索Mybatis的教程,看到了2个:
1.http://wanqiufeng.blog.51cto.com/409430/515132
这里会先定义一个UserMapper的Interface
然后使用的时候
UserMapper userMapper =sqlSession.getMapper(UserMapper.class);
User user = userMapper.getUser("jun");
2.http://blog.csdn.net/weoln/article/details/5782750
这里就没有Interface
直接使用
Goods goods = (Goods)session.selectOne("com.oryx.mybatis.GoodsMapper.selectGoods",1);
看了论坛里关于是不是可以不写DAO的讨论,但只是稍微有点概念,但是具体Mybatis的原理还是没搞清楚。
第一种,如果mybatis本身的Mapper层就是一个接口的话,那么它的实现应该是xml文件了,这里的UserMapper userMapper =sqlSession.getMapper(UserMapper.class);算是什么? 这个userMapper是谁的实现呢? Mapper的还是用户自定义那个UserMapper的? 感觉像是UserMapper这个接口的,但是具体的sql访问(DaoImp)是谁来完成的呢? 感觉又是xml文件来完成的,所以就有点晕了。。。
用户自定义的接口和框架提供的借口到底是一种什么关系,框架又是怎么自动帮助用户自定义的接口实现其中的方法的?
第二种,
能解释下这里面的原理么? selectOne都做了哪些步骤?