您的位置:首页 > 其它

SSM项目从零开始到入门009-使用mybatis提供的动态代理

2017-12-15 13:56 344 查看
使用mybatis提供的动态代理

本节介绍mybatis的动态代理,回顾前面我们的crud操作,整个执行过程大致为

首先有个关于实体的dao接口,
然后是dao接口接口的实现类,
实现类然后在调用sqlsession去完成crud的操作

public class UserDaoImpl implements UserDao{
private SqlSession sqlSession;
public UserDaoImpl(SqlSession sqlSession){
this.sqlSession = sqlSession;
}
@Override
public void addUser(User user) {
sqlSession.insert("UserMapper.addUser",user);
}
...
......
}
但是这样的写起来对代码有冗余,而且参数还会设计到强制类型转换问题

于是mybatis为我们提供的动态代理实现类就出场了

为了规范,我们将UserDao 接口命名为UserMapper.java并在测试类添加代理



但是写成这样要注意几点 

 UserMapper.xml文件中namespace必须写成全路径。这样才可以找到mapper文件并执行内容

然后UserMapper.java接口中的每一个方法必须与UserMapper.xml中的id对应  即名称一致

Mapper接口中的方法输入参数类型与sql定义的paramterType一致

Mapper接口中的方法输出参数类型与sql定义的resultType一致



测试添加操作,程序执行成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: