Mybatis学习笔记(三)_Dao方法的代理开发

Web后端开发中需要开发DAO层,现在先来看看在Mybatis中原始方法开发DAO.

即是通过接口—实现类的方式来实现对数据库的操作

按照以前的文章,配置好全局后,来配置这个SQL语句

这是根据ID在数据库中查询对应User

这时候我们先写一个查询接口


写出UserMapper接口的实现类来进行数据库查询


在main方法中测试该方法


运行结果:


OK!

但是这样不太好哦

因为实现类要写的东西太多了,


硬编码就算了,还特么每次都要写

受不了

我们就改成Mapper代理的方式编写DAO

什么意思呢?就是按照规范写数据库操作接口,Mapper为你自动实现查询类

就是有这种操作!

具体怎么搞

首先实现编码规范!

1.在Mapper配置文件中,mapper的namespace需要写成接口名,如: namespace="DAO.UserMapper"

2.在接口中,接口的方法对应mapper配置文件中insert/delete/update/select的id

也就是这个东西:


对应的接口方法:


3.是不是看图看出了端倪?mapper的parameterType、resultType也分别对应了接口方法的参数与返回值(返回值为List<E>时,底层调用selectList方法,不用担心,放心换)

完成这三个规范,就可以自动实现接口了!

现在在main方法中进行测试:


关键的一步:

UserMapper userDao=session.getMapper(UserMapper.class);

这就是传说中的操作,是不是很帅!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 11 MyBatis一级缓存实现# 11.1 什么是一级缓存? 为什么使用一级缓存?## 每当我们使用MyBati...
    七寸知架构阅读 10,887评论 12 143
  • MyBatis的配置和使用原理 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。My...
    王帅199207阅读 934评论 0 4
  • 每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它是线程不安全的 配置文...
    蕊er阅读 481评论 0 0
  • 非本人总结的笔记,抄点笔记复习复习。感谢传智博客及黑马程序猿成长 关联查询 数据中的表结构 数据库的分析方法 第一...
    键盘瞎阅读 1,099评论 3 5
  • 由于之前我们已经有了hibernate的基础,所以这里很多细节就不再提及。 一、基本架构 这里从网络上找了几张my...
    yjaal阅读 1,580评论 0 7