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

  • 相关阅读:
    Leetcode刷题75. 颜色分类
    那些提前半年用好 AI 的职场人,收获了什么?
    Python语言零基础入门——异常处理
    【2022国赛模拟】[SDSC Day5] 毒药——自适应交互、DP
    java毕业设计在线课程教学大纲系统Mybatis+系统+数据库+调试部署
    基于android的车辆违章停放执法移动APP(ssm+uinapp+Mysql)-计算机毕业设计
    信息安全服务资质认证CCRC证书‖中国网络安全审查技术与认证中心
    全流程:安装uni-app(小程序端)
    CentOS同时安装mysql8.0
    解读BOT攻击,探索灵活且准确的安全之道
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126577349