步骤7:创建Dao接口@Mapperpublic interface UserDao extends BaseMapper<User>{}
步骤8:编写引导类@SpringBootApplication//@MapperScan("com.itheima.dao")public class Mybatisplus01QuickstartApplication { public static void main(String[] args) { SpringApplication.run(Mybatisplus01QuickstartApplication.class, args); }?}
说明:Dao接口要想被容器扫描到,有两种解决方案:
- 方案一:在Dao接口上添加
@Mapper
注解,并且确保Dao处在引导类所在包或其子包中
- 该方案的缺点是需要在每一Dao接口中添加注解
- 该方案的缺点是需要在每一Dao接口中添加注解
- 方案二:在引导类上添加
@MapperScan
注解,其属性为所要扫描的Dao所在包
- 该方案的好处是只需要写一次,则指定包下的所有Dao接口都能被扫描到,
@Mapper
就可以不写 。
- 该方案的好处是只需要写一次,则指定包下的所有Dao接口都能被扫描到,
@SpringBootTestclass MpDemoApplicationTests {?@Autowiredprivate UserDao userDao;@Testpublic void testGetAll() {List<User> userList = userDao.selectList(null);System.out.println(userList);}}
说明:userDao注入的时候下面有红线提示的原因是什么?
- UserDao是一个接口,不能实例化对象
- 只有在服务器启动IOC容器初始化后,由框架创建DAO接口的代理对象来注入
- 现在服务器并未启动,所以代理对象也未创建,IDEA查找不到对应的对象注入,所以提示报红
- 【四十 Java开发学习----MyBatisPlus入门案例与简介】一旦服务启动,就能注入其代理对象,所以该错误提示不影响正常运行 。
文章插图
跟之前整合MyBatis相比,你会发现我们不需要在DAO接口中编写方法和SQL语句了,只需要继承
BaseMapper
接口即可 。整体来说简化很多 。二、MybatisPlus简介MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
通过刚才的案例,相信大家能够体会简化开发和提高效率这两个方面的优点 。
MyBatisPlus的官网为:
https://baomidou.com/
官方文档中有一张很多小伙伴比较熟悉的图片:
文章插图
从这张图中我们可以看出MyBatisPlus旨在成为MyBatis的最好搭档,而不是替换MyBatis,所以可以理解为MyBatisPlus是MyBatis的一套增强工具,它是在MyBatis的基础上进行开发的,我们虽然使用MyBatisPlus但是底层依然是MyBatis的东西,也就是说我们也可以在MyBatisPlus中写MyBatis的内容 。
MyBatisPlus的特性:
- 无侵入:只做增强不做改变,不会对现有工程产生影响
- 强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表CRUD 操作
- 支持 Lambda:编写查询条件无需担心字段写错
- 支持主键自动生成
- 内置分页插件
- ……
经验总结扩展阅读
- JavaScript之数组高阶API—reduce
- chrome工具调试
- 想开发DAYU200,我教你
- 开发商不给办理房产证去哪里投诉 开发商办理房产证流程大概多久时间
- 最新苹果iOS个人开发者账号注册申请流程 申请苹果id账号注册
- 源码级深度理解 Java SPI
- 一加AcePro怎么进入开发者模式 一加AcePro进入开发者模式方法介绍
- 死磕Java面试系列:深拷贝与浅拷贝的实现原理
- JAVA开发搞了一年多的大数据,究竟干了点啥
- JAVA的File对象