• 微服务项目:尚融宝(2)(上手复习mybatisplus)


    放弃幻想,认清现实,准备斗争 

    简介 

    官网

    http://mp.baomidou.com

    特点

    MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 

    支持数据库

    mysql 、mariadb 、oracle 、db2 、h2 、hsql 、sqlite 、postgresql 、sqlserver 、presto 、Gauss 、Firebird

    Phoenix 、clickhouse 、Sybase ASE 、 OceanBase 、达梦数据库 、虚谷数据库 、人大金仓数据库 、南大通用数据库 、

    框架结构 

     

    快速入门 

    1、创建数据库

    创建数据库:mybatis_plus

    创建数据表:user
     
    1. CREATE TABLE user
    2. (
    3. id BIGINT(20) NOT NULL COMMENT '主键ID',
    4. name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    5. age INT(11) NULL DEFAULT NULL COMMENT '年龄',
    6. email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    7. PRIMARY KEY (id)
    8. );
    9. INSERT INTO user (id, name, age, email) VALUES
    10. (1, 'Jone', 18, 'test1@baomidou.com'),
    11. (2, 'Jack', 20, 'test2@baomidou.com'),
    12. (3, 'Tom', 28, 'test3@baomidou.com'),
    13. (4, 'Sandy', 21, 'test4@baomidou.com'),
    14. (5, 'Billie', 24, 'test5@baomidou.com');

    2、创建SpringBoot工程

    3、引入依赖

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframework.bootgroupId>
    4. <artifactId>spring-boot-starterartifactId>
    5. dependency>
    6. <dependency>
    7. <groupId>com.baomidougroupId>
    8. <artifactId>mybatis-plus-boot-starterartifactId>
    9. <version>3.4.1version>
    10. dependency>
    11. <dependency>
    12. <groupId>mysqlgroupId>
    13. <artifactId>mysql-connector-javaartifactId>
    14. <scope>runtimescope>
    15. dependency>
    16. <dependency>
    17. <groupId>org.projectlombokgroupId>
    18. <artifactId>lombokartifactId>
    19. <optional>trueoptional>
    20. dependency>
    21. <dependency>
    22. <groupId>org.springframework.bootgroupId>
    23. <artifactId>spring-boot-starter-testartifactId>
    24. <scope>testscope>
    25. <exclusions>
    26. <exclusion>
    27. <groupId>org.junit.vintagegroupId>
    28. <artifactId>junit-vintage-engineartifactId>
    29. exclusion>
    30. exclusions>
    31. dependency>
    32. dependencies>

    4、修改配置文件

    在 application.properties 配置文件中添加 MySQL 数据库的相关配置:

    1. #mysql数据库连接
    2. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    3. spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8
    4. spring.datasource.username=root
    5. spring.datasource.password=123456

    5、创建实体类

    创建包 entity,编写实体类 User.java,并使用lombok简化实体类的编写

    1. package com.atguigu.mybatisplus.entity;
    2. @Data
    3. public class User {
    4. private Long id;
    5. private String name;
    6. private Integer age;
    7. private String email;
    8. }

    6、创建mapper接口

    创建包 mapper,编写Mapper 接口: UserMapper.java

    1. package com.atguigu.mybatisplus.mapper;
    2. public interface UserMapper extends BaseMapper {
    3. }

    7、启动类添加注解

    在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹

    1. package com.atguigu.mybatisplus;
    2. @SpringBootApplication
    3. @MapperScan("com.atguigu.mybatisplus.mapper")
    4. public class MybatisPlusApplication {
    5. public static void main(String[] args) {
    6. SpringApplication.run(MpApplication.class, args);
    7. }

    @MapperScan

    添加@MapperScan(“cn.mybatis.mappers”)注解以后,cn.mybatis.mappers包下面所有的接口类,在编译之后都会生成相应的实现类

    还要一种处理的方式是将接口上标注注解@Mapper

    1. @Mapper
    2. public interface UserMapper extends BaseMapper {
    3. }

    在不使用@MapperScan前,我们需要直接在Mapper类上面添加注解@Mapper,这种方式要求每一个Mapper类都需要添加此注解,非常麻烦,属于重复劳动。通过使用@MapperScan注解,可以让我们不用为每个Mapper类都添加@Mapper注解。

    8、测试

    1. @SpringBootTest
    2. class MybatisPlusApplicationTests {
    3. //@Autowired //默认按类型装配。是spring的注解
    4. @Resource //默认按名称装配,找不到与名称匹配的bean,则按照类型装配。是J2EE的注解
    5. private UserMapper userMapper;
    6. @Test
    7. void testSelectList() {
    8. //selectList()方法的参数:封装了查询条件
    9. //null:无任何查询条件
    10. List users = userMapper.selectList(null);
    11. users.forEach(System.out::println);
    12. }
    13. }

    补充、查看sql输出日志

    1. #mybatis日志
    2. mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

  • 相关阅读:
    Envi5.3勾取过多ROI之后软件卡死和影像错位现象解决方法
    Vue3+ts -01
    Linux操作系统~系统文件IO,什么是文件描述符fd?什么是vfs虚拟文件系统
    【数据结构与算法 | 堆篇】力扣215
    Zabbix5.0部署
    阿里云服务器快照收费怎么停止?
    Opencv学习笔记-第0篇 安装
    【人工智能 | 认知观与系统类别】从宏观角度看人工智能认知观与系统类别:探索人工智能无垠领域
    SaaSBase:什么是嘉驰国际?
    实体行业数字化转型怎么做?线上线下相结合的新零售体系怎么做?
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126577349