四十 Java开发学习----MyBatisPlus入门案例与简介( 二 )

步骤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接口中添加注解
  • 方案二:在引导类上添加@MapperScan注解,其属性为所要扫描的Dao所在包
    • 该方案的好处是只需要写一次,则指定包下的所有Dao接口都能被扫描到,@Mapper就可以不写 。
步骤9:编写测试类@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入门案例与简介】一旦服务启动,就能注入其代理对象,所以该错误提示不影响正常运行 。
查看运行结果:
四十 Java开发学习----MyBatisPlus入门案例与简介

文章插图
跟之前整合MyBatis相比,你会发现我们不需要在DAO接口中编写方法和SQL语句了,只需要继承BaseMapper接口即可 。整体来说简化很多 。
二、MybatisPlus简介MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
通过刚才的案例,相信大家能够体会简化开发和提高效率这两个方面的优点 。
MyBatisPlus的官网为:https://baomidou.com/
官方文档中有一张很多小伙伴比较熟悉的图片:
四十 Java开发学习----MyBatisPlus入门案例与简介

文章插图
从这张图中我们可以看出MyBatisPlus旨在成为MyBatis的最好搭档,而不是替换MyBatis,所以可以理解为MyBatisPlus是MyBatis的一套增强工具,它是在MyBatis的基础上进行开发的,我们虽然使用MyBatisPlus但是底层依然是MyBatis的东西,也就是说我们也可以在MyBatisPlus中写MyBatis的内容 。
MyBatisPlus的特性:
  • 无侵入:只做增强不做改变,不会对现有工程产生影响
  • 强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表CRUD 操作
  • 支持 Lambda:编写查询条件无需担心字段写错
  • 支持主键自动生成
  • 内置分页插件
  • ……
注意:对于MyBatisPlus的学习,大家可以参考着官方文档来进行学习,里面都有详细的代码案例 。

经验总结扩展阅读