整合Mybatis-Plus

导入依赖

<!--mybatis-plus启动器-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version>
</dependency>
​<!-- 数据库驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency>

安装Lombok插件

配置编码

  • 配置application.yaml文件

    spring:#配置数据库datasource:# 配置连接数据库信息driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8username: rootpassword: 123456
    ​
    mybatis-plus:# 配置MyBatis日志configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    ​#全局配置global-config:db-config:#配置统一的主键策略为自增,如果不设置默认为雪花算法id-type: auto# 设置实体类所对应的表的统一前缀,为实体类所对应的表名设置默认的前缀table-prefix: t_
    ​#配置mapper映射文件路径,名字要和mapper接口名字一致 这是默认路径不写也行mapper-locations: classpath*:/mapper/**/*.xml
    ​#配置类型别名所对应的包type-aliases-package: com.yka.boot02mybatis_plus.pojo
    ​# 扫描通用枚举的包type-enums-package: com.yka.boot02mybatis_plus.enums
  • 创建一个config包创建配置类,添加@MapperScan` 注解,扫描 Mapper 文件夹 添加@Configuration注解**

    @Configuration //告诉SpringBoot这是一个配置类 == spring配置文件
    @MapperScan("com.yka.boot02mybatis_plus.mapper")//扫描接口包 在当前配置类(spring.xml)中填写注解最合适
    //配置mapper接口的扫描配置
    //由mybatis-spring提供,可以将指定包下所有的mapper接口创建代理实现类
    //并将这些动态代理作为IOC容器的bean管理,接口就可以自动装配了,直接可以调用接口中的方法
    public class MyConfig {
    }
  • 编写实体类 User.java(此处使用了 Lombok 简化代码)

    @Data//自动提供get set方法、tosString方法,equals方法
    @AllArgsConstructor//有参构造器
    @NoArgsConstructor//无参构造器
    @TableName("user")//绑定表 yaml文件中设置了全局配置这里可以不用注解了 yaml文件配置文件中:db-config:table-prefix: t_
    public class User {private Long id;private String name;private Integer age;private String email;
    }
  • 编写 Mapper 包下的 UserMapper接口

  • 1.BaseMapper<T>

    说明:

    • 通用 CRUD 封装BaseMapper 接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器

    • 泛型 T 为任意实体对象

    • 参数 Serializable 为任意类型主键 Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键

    • 对象 Wrapper 为条件构造器

    MyBatis-Plus中的基本CRUD在内置的BaseMapper中都已得到了实现,因此我们继承该接口以后可以直接使用。

    本次演示的CRUD操作不包含参数带有条件构造器的方法,关于条件构造器将单独在一个章节进行演示。BaseMapper中提供的CRUD方法:

  • // 在对应的Mapper上面继承基本的类 BaseMapper,就能直接用BaseMapper接口里面的sql语句了
    //MyBatis-Plus中的基本CRUD在内置的BaseMapper中都已得到了实现,因此我们继承该接口以后可以直接使用。
    @Repository // 代表持久层
    public interface UserMapper extends BaseMapper<User> {
    // 所有的CRUD操作都已经编写完成了
    // 你不需要像以前的配置一大堆文件了!
    ​@Select("select * from user where id = #{id}")public User selById(Integer id);
    ​
    }

测试查询

  • 编写一个测试类MyBatisPlusTest.java

    @SpringBootTest
    public class MyBatisPlusTest {@Resourceprivate UserMapper userMapper;
    ​/*** 测试查询所有数据*/@Testvoid testSelectList(){//通过条件构造器查询一个list集合,若没有条件,则可以设置null为参数List<User> users = userMapper.selectList(null);users.forEach(System.out::println);}
    }
  • 控制台打印查询结果

SpringBoot(五)整合Mybatis-Plus相关推荐

  1. springboot项目整合mybatis

    SpringBoot项目整合mybatis 本章内容 使用 idea创建 SpringBoot项目 SpringBoot项目中配制 mybatis 框架 1 创建 SpringBoot项目 1.1 在 ...

  2. springboot中整合mybatis及简单使用

    springboot中整合mybatis及简单使用 1.引入依赖 2.在applicaiton.yaml中配置数据源以及mybatis 3.创建sql测试表 4.编写mapper接口和mapper.x ...

  3. 玩转springboot:整合mybatis实例

    这篇文章讲解一下springboot整合mybatis,其实,springboot整合mybatis和springmvc整合mybatis并没有什么太大的区别,大体上还是差不多哦,只是比springm ...

  4. Springboot轻松整合Mybatis

    在springboot没有出现之前,spring整合mybatis是相当麻烦,各种bean配置,现在我们来感受一下Springboot整合Mybatis是有多么方便 先来看看效果 添加用户: 查询用户 ...

  5. java xml快捷注释_详解SpringBoot 快速整合Mybatis(去XML化+注解进阶)

    序言:使用MyBatis3提供的注解可以逐步取代XML,例如使用@Select注解直接编写SQL完成数据查询,使用@SelectProvider高级注解还可以编写动态SQL,以应对复杂的业务需求. 一 ...

  6. springboot之整合mybatis

    第一次搞,真的是花了老大的经历了,各种字段敲错了. 记录一下过程: 首先添加依赖: <dependency><groupId>org.mybatis.spring.boot&l ...

  7. springboot/springcloud整合mybatis(mysql)

    1.导入相关jar包 <!-- mysql客户端 --> <dependency><groupId>mysql</groupId><artifac ...

  8. SpringBoot精藏(五)SpringBoot整合mybatis

    本文主要讲解如何在springboot下整合mybatis,并访问数据库.由于mybatis这个框架太过于流行,所以我就不讲解了. 引入依赖 在pom文件引入mybatis-spring-boot-s ...

  9. springboot 整合mybatis plus

    简单介绍下 mybatis plus,mybatis plus(简称 MP)是一个 mybatis  的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 本文讲解使用 ...

  10. 详解SpringBoot整合Mybatis框架

    文章目录 前言 一.创建SpringBoot项目 二.配置Mybatis 1. 在pom.xml文件中添加jar包依赖 2. SpringBoot整合Mybatis配置文件 三.创建Mapper接口 ...

最新文章

  1. android relativelayout 点击事件,Android Relativelayout点击背景行为
  2. C 指针常量 和常量指针 指向常量的指针常量的使用
  3. 【Lucene】Lucene的工作原理
  4. CUDA在Debug下编译有错而Release下无错
  5. java中如果需要返回多个值怎么办
  6. 《神经网络和深度学习》系列文章五:用简单的网络结构解决手写数字识别
  7. python logger_Python:logging 的巧妙设计!
  8. 可空类型 (C# 编程指南)
  9. 计算机无法识别佳能70d相机,佳能相机常见的错误代码和解决方案-万兴恢复专家...
  10. Web前端:HTML5 CSS3
  11. 2020中山大学计算机学院保研,我校举行中山大学2020级研究生招生宣讲会
  12. 0x00000001java_「十六进制表示」0x00000001是个啥?32位表示、十六进制表示 - seo实验室...
  13. FME将用SHP数据对栅格影像数据进行裁剪
  14. 【应用】Markdown 在线阅读器
  15. Rstudio手动安装程序包
  16. 【尚硅谷】新web项目-QQZone代码及详细解析
  17. 情感分析的一些专业术语
  18. 哪些是MySQL用于放置一些头文件的目录_下面选项中,哪些是MySQL用于放置一些头文件的目录?...
  19. 笔记本电脑移动办公平台网络解决方案
  20. 学习UI设计后的就业岗位、薪资大揭秘!

热门文章

  1. 铰削和铰刀的基本概念
  2. 微信,支付宝,收款二维码实时生成订单监控,免签支,付支付系统,个人收款,收款二维码...
  3. 如何定位crach问题
  4. Mac下添加Chrome插件
  5. 22.11.30打卡 记忆化搜索2水题
  6. 计算机如何开启多个用户,电脑上如何打开多个微信账号?
  7. 【软考 系统架构设计师】计算机组成与体系结构⑥ 流水线
  8. 案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,期限控制,参数调试等)
  9. 3D建模软件大总结,你都知道哪些?
  10. 局域网局域网架构简介