日期:2014-05-17  浏览次数:20707 次

Mybatis的mapper...是个接口?
这2天在学mybatis的内容,看了官方的文档并不是很明白
网上搜了几个例子,然后发现了2种不同的写法

第一种:
写好Mapper文件之后,直接在程序中调用
User user = (User) session.selectOne("selectUser", "3");

第二种
先定义一个Interface,UserMapper,然后Mapper文件的namespace指向的就是这个Interface,
UserInterface里定义的方法和UserMapper.xml文件中的一样,
然后代码里直接使用接口

UserMapper userMapper = sqlSession.getMapper(UserMapper.class); 
User user = userMapper.getUser("jun"); 



后一种方法的原理是什么? 或者说有哪里可以看到MYbatis的原理么?




------解决方案--------------------
就算你用sqlsession操作,底层机制还是一样的
只是采用sqlsession的话,就需要自己管理连接对象而已

绑定关系依然是用Mapper进行代理的