3. SpringBoot 整合第三方技術

捞月亮的小北發表於2024-05-05

1. 整合Junit

一般來說是不需要進行處理的 ,因為在建立SpringBoot 工程時 ,會自動整合junit​的

要說怎麼配置的話?也可以寫一下相關的配置:以下就是SpringBoot 整合 Junit 相關步驟

  1. 匯入相關依賴

    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-test</artifactId>
    	<scope>test</scope>
    </dependency>
    
  2. @SpringBootTest​註解 , 也可以使用 classes​ 屬性指定引導類的位元組碼物件。如 @SpringBootTest(classes = Springboot07TestApplication.class)

    image

  3. 測試結果顯示:

    image

2. 整合MyBatis

整合步驟如下:

  1. 建立SpringBoot 工程的時候 ,勾選SQL 下的 MyBatis Framework​ 和 MySQl Dirver​ 依賴
  2. application.yml​ 檔案中寫入資料庫連線資訊
  3. 編寫程式碼並進行測試

相關依賴如下:這裡複製所有依賴的原因是因為我在整合的時候 ,因為依賴的原因報錯了

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.18</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.north</groupId>
	<artifactId>springboot-008-mybatis</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>springboot-008-mybatis</name>
	<description>springboot-008-mybatis</description>
	<properties>
		<java.version>17</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.3.2</version>
		</dependency>

		<dependency>
			<groupId>com.mysql</groupId>
			<artifactId>mysql-connector-j</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter-test</artifactId>
			<version>3.0.3</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>6.0.13</version>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.28</version>
			<scope>compile</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

application.yml​檔案中編寫資料庫連線資訊

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?erverTimezone=UTC
    username: root
    password: root

編寫介面​進行資料測試 (這裡寫的時候 ,我居然還把SQL語句給寫錯了😂😂😂)

/**
 * @Author North
 * @Date 2024/5/5
 */
@Mapper
public interface BookDao {
    @Select("select * from tbl_book where id = #{id}")
    Book getById(Integer id);
}

測試類​中進行測試

@SpringBootTest
class Springboot008MybatisApplicationTests {

	@Autowired
	private BookDao bookDao;

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

測試結果如下:

image

3. 整合MyBatis-Plus

這裡說一下MyBatis-Plus 與 MyBatis 的區別

  • 匯入座標不同
  • 資料層實現簡化

  • 整合MyBatis-Plus依賴的步驟如下

    • 建立SpringBoot 工程的時候 ,勾選SQL 下的 MySQl Dirver​ 依賴 ,因為MyBatis-Plus是國人開發的並沒有在官方中有所顯示
    • 手工新增MyBatis-Plus對應的starter
    • 資料層介面使用BaseMapper​簡化開發

手工新增MyBatis-Plus對應的starter

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.5</version>
        </dependency>

application.yml​檔案中編寫資料庫連線資訊

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?erverTimezone=UTC
    username: root
    password: root

mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_

資料層介面使用BaseMapper​簡化開發

/**
 * @Author North
 * @Date 2024/5/5
 */
@Mapper
public interface BookMapper extends BaseMapper<Book> {
}

測試程式碼如下:

@SpringBootTest
class Springboot010TestApplicationTests {

    @Autowired
    private BookMapper bookMapper;

    @Test
    void testSelectById() {
        System.out.println(bookMapper.selectById(1));
    }
}

測試結果如下:

image

4. 整合Druid

  • 整合Druid的步驟

    • 整合Druid​需要匯入Druid對應的starter
    • 根據Druid提供的配置方式進行配置
  • 整合第三方技術通用方式

    • 匯入對應的starter
    • 根據提供的配置格式 ,配置非預設值對應的配置項

匯入Druid相關的依賴

		<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid-spring-boot-starter</artifactId>
			<version>1.2.6</version>
		</dependency>

配置yml檔案 : 這裡注意下 druid 的位置

spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/ssm_db?erverTimezone=UTC
      username: root
      password: root

其餘的步驟和整合MyBatis步驟想同

結果演示:

image

相關文章