博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis_mapper动态代理
阅读量:6268 次
发布时间:2019-06-22

本文共 1256 字,大约阅读时间需要 4 分钟。

mapper的的动态代理

抛开接口的实现类,直接通过dao接口来定位到mappper中的SQL语句

1:修改StudentMapper.xml文件中的mapper标签的namespace属性

(mybatis会将当前的mapper.xml文件与StudentDao对应上)

 

2:需要将StudentDao接口中的方法名要与 StudentMapper.xml 文件中的id名称对应上

// 接口public interface StudentDao {    void insertStudent(Student student);    void deleteStudent(int id);    void updateStudent(Student student);    List
selectAllStudents(); Student selectStudentById(int id); Student selectStudentByAddress(int id);}// id名称
    ...
    ...
    ...

 3:不需要实现类,但在测试类中还是得获取SqlSession对象

// 执行测试方法之前会执行该方法    @Before    public void init(){        sqlSession = MyBatisUtil.getSqlSession();        studentDao = sqlSession.getMapper(StudentDao.class);  // 通过该方法可以获取StudentDao对象    }    // 方法执行完成后需要关闭sqlSession    @After    public void closeSession(){        if(sqlSession != null){            sqlSession.close();        }    }   // 下面代码省略,与之前相同

注:将dao的实现类删除之后,mybatis底层只会调用selectOne()或selectList()方法。而框架选择方法的标准是dao层方法中用于接收返回值的对象类型。若接收类型为 List,则自动选择 selectList()方法;否则,自动选择 selectOne()方法。

 

 

 

本笔记参考自:小猴子老师教程 http://www.monkey1024.com

转载于:https://www.cnblogs.com/Doaoao/p/10704627.html

你可能感兴趣的文章
Delphi IdTCPClient IdTCPServer 点对点传送文件
查看>>
Delphi中使用ActiveX的一些心得
查看>>
QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)
查看>>
(原創) C/C++的function prototype和header file (C/C++) (C)
查看>>
深入理解JavaScript系列(29):设计模式之装饰者模式
查看>>
程序员的罪与罚
查看>>
SQL*LOADER错误总结
查看>>
SQL日志收缩
查看>>
【转】MySQL Query Cache 小结
查看>>
SVN分支和合并的简单例子
查看>>
PHP实现的封装验证码类
查看>>
Augular初探
查看>>
PHPStorm下XDebug配置
查看>>
【LeetCode】55. Jump Game
查看>>
Android应用盈利广告平台的嵌入方法详解
查看>>
Linux(CentOS6.5) 开放端口,配置防火墙
查看>>
Func与Action
查看>>
Android ViewPager 应该及技巧
查看>>
ODI KM二次开发手册
查看>>
iOS通讯录整合,兼容iOS789写法,附demo
查看>>