mapper代理方式开发

时间:2018-08-19
本文章向大家介绍mapper代理方式开发,需要的朋友可以参考一下。

使用mapper代理方式开发:

需要编写mapper接口,UserMapper.java
需要编写映射文件,UserMapper.xml
需要遵循一些开发规范,mybatis便可以自动生成mapper接口实现类代理对象


遵循的开发规范:
1:UserMapper.xml中namespace命名空间 与 UserMapper.java接口全限定名一致

2:UserMapper.java接口中方法的名称 与 UserMapper.xml中statement的id一致

3:UserMapper.java接口中方法的参数类型 与 UserMapper.xml中statement的parameterType一致

4:UserMapper.java接口中方法的返回值类型 与 UserMapper.xml中statement的resultType一致


自动生成mapper接口实现类:
1:打开会话openSession与关闭会话close()
sqlSession = sqlSessionFactory.openSession();
sqlSession.close();

2:调用sqlSession的增删改查方法sqlSession.update(...)
通过UserMapper.java接口的全限定名 获取到 映射文件UserMapper.xml
通过接口中的方法名称 获取到 映射文件中的statement
根据statement的标签insert、update、delete,调用对应的insert、update、delete方法
对于select标签,如果接口中的方法返回值类型为集合(如List),则调用selectList方法
如果接口中的方法返回值类型不是集合,而是pojo类型或其他简单类型,则调用selectOne方法

3:statement的完整标识sqlSession.update("org.pine.mybatis.mapper.UserMapper.updateUser",...)
接口的全限定名+"."+接口中的方法名称