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

  • 相关阅读:
    如何保护IP在线隐私,提高网络安全?
    VBox启动失败、Genymotion启动失败、Vagrant迁移
    【考研英语语法】语篇标记
    题目 1059: 二级C语言-等差数列
    linux安装教程,电脑系统安装以及虚拟机安装教程
    递推算法刷题
    26-k8s的附加组件-图形化管理工具dashboard
    Spark RDD简记
    阳光能源,创造永远:光模块的未来”:随着大数据、区块链、云计算和5G的发展,光模块成为满足不断增长的数据流量需求的关键技术
    Java常用机制 - SPI机制详解
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126577349