当前位置:网站首页>Fundamentals - integrating third-party technology

Fundamentals - integrating third-party technology

2022-07-08 01:01:00 Printf ('xiaobai ');

Integrate Junit

Import the corresponding test starter

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Test use @SpringBootTest modification

@SpringBootTest
class Springboot03JunitApplicationTests {
    
    //  Inject the object you want to test 
    @Autowired
    private BookDao bookDao;

    @Test
    public void testBookDao(){
    
        bookDao.save();
    }
}

classes Property specifies the boot class

  • When your test class is under the package and sub package of your boot class, it can be implemented
  • When not under a bag , Will explode, will not find the configuration class , But the annotation of the boot class contains the annotation of the configuration class
@SpringBootTest(classes = Springboot03JunitApplicationTests.class)

perhaps

@SpringBootTest
@ContextConfiguration(classes = Springboot03JunitApplicationTests.class)

Integrate MyBatis

establish SpringBoot Engineering time , Add the corresponding module (MyBatis MySQL)

  • MySQL Driver
  • MyBatis framework modular

Set data source parameters

  • Configure data source information
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
    username: root
    password: 123456

Define data layer interfaces and mappings ( You can use the configuration file xml form )

  • Mapper It is to make the container recognize SQL mapping
@Mapper
public interface BookDao {
    
    @Select("select * from t_book where id = #{id}")
    public Book getById(Integer id);
}

test

@SpringBootTest
class Springboot03MyBatisApplicationTests {
    
    @Autowired
    private BookDao bookDao;

    @Test
    public void testGetById(){
    
        Book book = bookDao.getById(1);
        System.out.println(book);
    }
}

Handling of common problems

  • Server time zone setting processing
    mysql8 The time zone must be set for the above
    Drive out reminder com.mysql.cj.jdbc.Driver

Integrate MyBatis-Plus

add to pom rely on

  • The official version is not included mybatis-plus, Alibaba templates can be used to create
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.4.2</version>
</dependency>

mapper Interface inheritance BaseMapper

@Mapper
public interface BookDao extends BaseMapper<Book> {
    
}

matters needing attention

  • When there are no coordinates to choose, you need to manually add coordinate dependencies
  • There are two ways to solve the problem that there is no table name
    The first is to add @TableName(“ Table name ”)
    The second is to prefix the table name in the configuration file
mybatis-plus:
  global-config:
    db-config:
      table-prefix: t_

Integrate Druid

Import coordinates

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.8</version>
</dependency>

To configure yml

  • The first one is
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource
  • The second kind ( recommend
spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
      username: root
      password: 123456

Ge integrates third-party technology

  • Import corresponding starter
  • According to the configuration format provided , Configure the configuration items corresponding to non default values
原网站

版权声明
本文为[Printf ('xiaobai ');]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/189/202207072311584498.html