写点什么

PassJava 开源 (四):整合 MyBatis-Plus 实现 CRUD

作者:悟空聊架构
  • 2021 年 12 月 23 日
  • 本文字数:1296 字

    阅读完需:约 4 分钟

作者简介:悟空,8 年一线互联网开发和架构经验,用故事讲解分布式、架构设计、Java 核心技术。《JVM 性能优化实战》专栏作者,开源了《Spring Cloud 实战 PassJava》项目,公众号:悟空聊架构。本文已收录至 www.passjava.cn


PassJava (佳必过) 项目全套学习教程连载中,关注公众号第一时间获取。


文档在线地址:www.passjava.cn

整合 MyBatis-Plus 实现 CRUD

1.添加 Mybatis-Plus 依赖

<dependency>    <groupId>com.baomidou</groupId>    <artifactId>mybatis-plus-boot-starter</artifactId>    <version>3.2.0</version></dependency>
复制代码

2.配置数据源

  • 导入数据库的驱动

  • 查看 mysql 版本 5.7.29



到 maven 仓库查看适用的 mysql 驱动,5.7 的没有,8.0 兼容 5.7 的,所以选择 8.0 的驱动


<!--添加mysql驱动--><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.17</version></dependency>
复制代码

3.配置 MyBatis-Plus

  • 添加 application.yml 文件配置数据源

  • 文件路径:/passjava-question/src/main/resources/application.yml


  spring:    datasource:        driver-class-name: com.mysql.cj.jdbc.Driver        url: jdbc:mysql://129.211.188.xxx:3306/passjava_admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai        username: root        password: xxx
复制代码


  • 配置 mapper 映射文件路径



  mybatis-plus:    mapper-locations: classpath:/mapper/**/*.xml    global-config:      db-config:        id-type: auto
复制代码


  • 添加 MapperScan 注解


  @MapperScan("com.jackson0714.passjava.question.dao")  @SpringBootApplication  public class PassjavaQuestionApplication {      public static void main(String[] args) {          SpringApplication.run(PassjavaQuestionApplication.class, args);      }  }
复制代码

4.测试 mybatis-plus 的 CRUD 方法

  • 创建类型为 javaBasic 的 type 表数据


  @Autowired  TypeService typeService;    // 创建题目类型  @Test  void testCreateType() {      TypeEntity typeEntity = new TypeEntity();      typeEntity.setType("javaBasic");      typeService.save(typeEntity);      System.out.println("创建成功");  }
复制代码



  • 更新 id=1 的表数据


  // 更新type=jvm  @Test  void testUpdateType() {      TypeEntity typeEntity = new TypeEntity();      typeEntity.setId(1L);      typeEntity.setType("jvm");      typeService.updateById(typeEntity);      System.out.println("修改成功");  }
复制代码



  • 查询 id=1 的表数据


  // 查询题目类型  @Test  void testSelectType() {      List<TypeEntity> typeEntityList = typeService.list(new QueryWrapper<TypeEntity>().eq("id",1L));      typeEntityList.forEach((item)-> {          System.out.println(item);      });      System.out.println("查询成功");  }
复制代码



  • 删除 id=1 的表数据


  // 删除题目类型记录  @Test  void testRemoveType() {      typeService.removeById(1L);      System.out.println("删除成功");  }
复制代码



发布于: 20 小时前
用户头像

用故事、大白话讲解Java、分布式、架构设计 2018.05.06 加入

公众号:「悟空聊架构」 【个人博客】www.passjava.cn 【开源项目】基于 SpringCloud 的一套面试刷题系统 【Github】https://github.com/Jackson0714/PassJava-Platform

评论 (1 条评论)

发布
用户头像
猴哥持续更新,手动点赞👍🏻
12 小时前
回复
没有更多了
PassJava 开源 (四):整合MyBatis-Plus实现CRUD