第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

spring-boot 集成 MyBatis

1. 前言

spring-boot 可謂是 Java 領(lǐng)域中最火的框架之一, 也是目前 Java 應(yīng)用開發(fā)的事實(shí)標(biāo)準(zhǔn),如果不會(huì)使用未免有些 out。本小節(jié),我們將一起學(xué)習(xí)如何使用 spring-boot 來集成 MyBatis。

2. 項(xiàng)目初始化

對(duì)于擁有 IDEA 專業(yè)版的人來說,新建 spring-boot 項(xiàng)目是十分方便的,當(dāng)然如果你沒有也沒關(guān)系,Spring 官方給我們提供了一個(gè)快速新建項(xiàng)目的網(wǎng)站。

打開 https://start.spring.io/ 。如下:
圖片描述

給項(xiàng)目輸入合適的 groupId 和 artifactId 然后點(diǎn)擊生成按鈕,瀏覽器會(huì)自動(dòng)下載一個(gè)壓縮包 springboot-mybatis-exmaple.zip。

解壓該包,并通過 IDE 打開這個(gè)項(xiàng)目。

3. 啟動(dòng)器

在項(xiàng)目的 pom 文件中添加如下 3 個(gè)依賴:

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.1.1</version>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.18</version>
</dependency>

mybatis-spring-boot-starter 是 MyBatis 為 spring-boot 提供的啟動(dòng)器,添加后就可以以少量的配置來快速的使用 MyBatis;spring-boot-starter-web 是 spring-boot 提供的 Web 啟動(dòng)器,會(huì)給我們提供一個(gè) Web 應(yīng)用環(huán)境;mysql-connector-java 是 MySQL 數(shù)據(jù)庫(kù)驅(qū)動(dòng)依賴。

4. 配置

在 src/main/resources 有 spring-boot 提供的默認(rèn)配置文件 application.properties。在該配置文件下,我們需要添加上對(duì)于的數(shù)據(jù)源配置。

# 數(shù)據(jù)源配置,請(qǐng)修改為你項(xiàng)目的實(shí)際配置
spring.datasource.url=jdbc:mysql://localhost:3306/imooc
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

5. 實(shí)踐

5.1 模型層

在項(xiàng)目的 com.imooc.mybatis.springbootmybatisexample 的包下新建 model 包,并在該包下新建 User 類。如下:

public class User implements Serializable {
  private Long id;
  private String username;
  private Integer age;
  private Integer score;
  // 省略 getter 和 setter 方法
}

User 類與數(shù)據(jù)表 imooc_user 對(duì)應(yīng)。

5.2 數(shù)據(jù)訪問層

在 com.imooc.mybatis.springbootmybatisexample 包下新建 mapper 包,并新建 UserMapper 類。如下:

import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {
}

5.3 控制層

在 com.imooc.mybatis.springbootmybatisexample 包下新建 controller 包,并新建 UserController 類。如下:

import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
}

使用 RestController 注解將 UserController 標(biāo)記為控制器。

5.4 完善

有了雛形后,我們?cè)贋檫@些類添加上具體的業(yè)務(wù),比如查詢所有 imooc_user 用戶。

  1. 在 UserMapper 中,我們添加上 getUsers 接口方法,并通過 Select 注解來映射相應(yīng)的 SQL 語(yǔ)句。

    @Mapper
    @Repository
    public interface UserMapper {
      @Select("SELECT * FROM imooc_user")
      List<User> getUsers();
    }
    
  2. 在 UserController 中,我們添加上對(duì)應(yīng)的 getUsers API,該 API 對(duì)外暴露所有用戶數(shù)據(jù)。

    @RestController
    @RequestMapping("/user")
    public class UserController {
      @Autowired
      private UserMapper userMapper;
    
      @GetMapping
      public List<User> getUsers() {
        return userMapper.getUsers();
      }
    }
    

5.5 測(cè)試

運(yùn)行項(xiàng)目,如果你使用 IDE,可直接通過按鈕來運(yùn)行,如果沒有也可使用終端來運(yùn)行程序:

mvn spring-boot:run 

運(yùn)行成功后,我們測(cè)試一下:

curl 127.0.0.1:8080/user/
[{"id":1,"username":"peter","age":18,"score":100},
{"id":2,"username":"pedro","age":24,"score":200},
{"id":3,"username":"jerry","age":28,"score":500}]

6. 小結(jié)

  • spring-boot 集成 MyBatis 是十分方便的,只需少量的配置就可輕松使用 MyBatis。
  • spring-boot + MyBatis 幾乎是國(guó)內(nèi)標(biāo)配,請(qǐng)務(wù)必要上手實(shí)操一下。