• 微服务项目:尚融宝(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

  • 相关阅读:
    Linux命令--hexdump(以16进制查看文件内容)
    windows server 2016 ftp搭建详细教程
    java校园二手书交易管理系统springboot+Vue
    web server apache tomcat11-04-manager 如何管理?
    内核学习——1、list_head
    MessageBox的模版语法上如何注册事件
    代码随想录-哈希表|ACM模式
    目标检测框存在内嵌情况分析与解决
    DDD:BC Map映射关系
    java自定义Excel导出实现方案汇总
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126577349