SpringBoot が mybatis+mybatis-plus を統合する方法

WBOY
リリース: 2023-05-10 19:55:12
転載
1289 人が閲覧しました

準備作業

1. 以下のデータテーブルを準備します

CREATE TABLE `student` (
  `id` varchar(32) NOT NULL,
  `gender` varchar(32) DEFAULT NULL,
  `age` int(12) DEFAULT NULL,
  `nick_name` varchar(32) DEFAULT NULL,
  `name` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ログイン後にコピー

2. いくつかのテストデータを挿入します

SpringBoot が mybatis+mybatis-plus を統合する方法

統合手順

プロジェクトの完全なパッケージ構造を図に示します

SpringBoot が mybatis+mybatis-plus を統合する方法

#1. Maven の依存関係をインポートします

    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.1.RELEASE
         
    
    
        UTF-8
        UTF-8
        1.8
        8.0.11
        3.7
        1.2.47
        3.3.0
        3.3.0
        1.1.14
        1.18.0
        2.0.0
        2.9.2
        1.9.6
    
 
    
        
            org.apache.commons
            commons-lang3
            3.4
        
 
        
            org.springframework.boot
            spring-boot-starter-web
        
 
        
        
            mysql
            mysql-connector-java
            ${mysql-connector-java.version}
        
 
        
        
            com.alibaba
            fastjson
            ${fastjson.version}
        
 
        
        
        
            com.alibaba
            druid-spring-boot-starter
            ${druid.version}
        
 
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.1
        
 
        
        
            com.baomidou
            mybatis-plus-boot-starter
            ${mybatis-plus-boot-starter.version}
        
        
            com.baomidou
            mybatis-plus-generator
            ${mybatis-plus-generator.version}
        
 
        
        
            org.projectlombok
            lombok
            ${lombok.version}
        
 
        
        
            io.springfox
            springfox-swagger2
            ${swagger.version}
        
 
        
            io.springfox
            springfox-swagger-ui
            ${swagger.version}
        
 
        
            com.github.xiaoymin
            swagger-bootstrap-ui
            ${swagger-bootstrap-ui.version}
        
 
    
ログイン後にコピー

2. 設定ファイルのアプリケーション.yml

server:
  port: 8083
logging:
  config: classpath:logback-spring.xml  #日志
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://IP:3306/school?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
    username: root
    password: root
    druid:
      max-active: 100
      initial-size: 10
      max-wait: 60000
      min-idle: 5
  #设置单个文件最大上传大小
  servlet:
    multipart:
      max-file-size: 20MB
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  global-config:
    db-column-underline: true  #开启驼峰转换
    db-config:
      id-type: uuid
      field-strategy: not_null
    refresh: true
  configuration:
    map-underscore-to-camel-case: true
    #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句便于调试
ログイン後にコピー

3. 後でインターフェイスのデバッグを容易にするために、swagger 構成を追加します

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
/**
 * swagger文档,项目启动后,浏览器访问:http://localhost:8083/swagger-ui.html
 */
@Configuration
@EnableSwagger2
public class ApiSwagger2 {
 
    @Bean
    public Docket createRestBmbsApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("users")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.congge.controller"))
                .paths(PathSelectors.any())
                .build();
    }
 
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("后端相关API")
                .version("1.0")
                .build();
    }
 
}
ログイン後にコピー

4. エンティティ クラス

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
 
@Data
public class Student {
 
    @TableField("id")
    private String id;
 
    @TableField("name")
    private String name;
 
    @TableField("gender")
    private String gender;
 
    @TableField("age")
    private int age;
 
    @TableField("nick_name")
    private String nickName;
 
}
ログイン後にコピー

5. Dao インターフェイス、メソッドを追加しますすべてのデータをクエリするには

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.congge.entity.Student;
import org.apache.ibatis.annotations.Mapper;
 
import java.util.List;
 
@Mapper
public interface StudentMapper extends BaseMapper {
 
    List queryAll();
 
}
ログイン後にコピー

6. Mybatis レイヤー、SQL ファイルを書き込みます##




 
    
 
ログイン後にコピー

7. ビジネス実装クラス

このビジネス実装では、mybatis メソッドと mybatis を使用できます。 - プラスの方法、具体的に使用する場合は自分のニーズに基づいて選択します;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.congge.dao.StudentMapper;
import com.congge.entity.Student;
import com.congge.service.StudentService;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.List;
 
@Service
public class StudentServiceImpl implements StudentService {
 
    @Resource
    private StudentMapper studentMapper;
 
    @Override
    public List queryAllStudent() {
        QueryWrapper queryWrapper = new QueryWrapper();
        List students = studentMapper.selectList(queryWrapper);
        return students;
        //return studentMapper.queryAll();
    }
 
    @Override
    public List getByName(String name) {
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.like("name",name);
        return studentMapper.selectList(queryWrapper);
    }
 
    public Student getById(String id) {
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.like("id",id);
        return studentMapper.selectOne(queryWrapper);
    }
}
ログイン後にコピー

8. テスト インターフェイスを追加します

@RestController
public class StudentController {
 
    @Autowired
    private StudentService studentService;
 
    @GetMapping("/getAll")
    public List getAll(){
        return studentService.queryAllStudent();
    }
 
    @GetMapping("/getByName")
    public List getByName(@RequestParam String name){
        return studentService.getByName(name);
    }
 
    @GetMapping("/getById")
    public Student getById(@RequestParam String id){
        return studentService.getById(id);
    }
}
ログイン後にコピー

9. クラスを開始します

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication
public class App {
 
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);
    }
 
}
ログイン後にコピー
次に、実行しますプロジェクトを作成してテストします。

10. 開始したら、Swagger インターフェイスを開きます

SpringBoot が mybatis+mybatis-plus を統合する方法

SpringBoot が mybatis+mybatis-plus を統合する方法

2 つをテストすることもできます。ランダムにインターフェイスを使用してテストして、すべての生徒のデータ インターフェイスを取得しましょう

SpringBoot が mybatis+mybatis-plus を統合する方法

以上がSpringBoot が mybatis+mybatis-plus を統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!