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. いくつかのテストデータを挿入します
プロジェクトの完全なパッケージ構造を図に示します
#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 ファイルを書き込みます##
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 ListqueryAllStudent() { 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); } }
@RestController public class StudentController { @Autowired private StudentService studentService; @GetMapping("/getAll") public ListgetAll(){ 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); } }
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); } }
以上がSpringBoot が mybatis+mybatis-plus を統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。