谷粒商城-全栈-09 快速开发-配置及测试微服务 CRUD 功能

一、配置

1、导入数据库的驱动

gulimall-commonpom.xml 引入mysql依赖驱动:

<properties>
.
.
.
<mysql.version>8.0.17</mysql.version>
</properties>

<dependencies>
.
.
.
 <!-- 导入mysql 驱动-->
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>
</dependencies>

2、配置数据源

在gulimall-product 目录下新建 resources/application.yml 文件,并配置数据源相关信息
application.yml

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.10.10:3306/gulimall_pms
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  mapper-location: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto  # id主键自增

3、配置MyBatis-Plus

1)、使用@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加

启动类product/GulimallProductApplication.java引入@MapperScan扫描

@MapperScan("com.atguigu.gulimall.product.dao")
@SpringBootApplication
public class GulimallProductApplication {

  public static void main(String[] args) {
    SpringApplication.run(GulimallProductApplication.class, args);
  }

}

2)、告诉MyBatis-Plus,sql映射文件位置(这个已经在上边application.yml做了配置)

mybatis-plus:
  mapper-location: classpath:/mapper/**/*.xml

二、测试

单元测试
com.atguigu.gulimall.product.GulimallProductApplicationTests

package com.atguigu.gulimall.product;

import com.atguigu.gulimall.product.entity.BrandEntity;
import com.atguigu.gulimall.product.service.BrandService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
public class GulimallProductApplicationTests {
  @Autowired
  BrandService brandService;

  @Test
  public void contextLoads() {
    BrandEntity brandEntity = new BrandEntity();

    // 插入
    // brandEntity.setName("苹果");
    // brandService.save(brandEntity);
    // System.out.println("保存成功...");

    // 更新
//    brandEntity.setDescript("我要吃苹果");
//    brandEntity.setBrandId(1L);
//    brandService.updateById(brandEntity);
//    System.out.println("更新成功...");

    // 查询 QueryWrapper,表示查询条件
    List<BrandEntity> list = brandService.list(new QueryWrapper<BrandEntity>().eq("brand_id", 1L));
//    for (BrandEntity entity : list) {
//
//    }

    list.forEach((item)->{
      System.out.println(item);
    });

    // 打印结果: 
    // BrandEntity(brandId=1, name=苹果, logo=null, descript=我要吃苹果, showStatus=null, firstLetter=null, sort=null)
  }

}

为者常成,行者常至