springboot 통합 my batisplus 방법

13158 단어 springbootmybatisplus
소개:
         Mybatis-Plus(MP)은 Mybatis 의 증강 도구 로 Mybatis 를 바탕 으로 증강 만 하고 변 하지 않 으 며 개발 을 간소화 하고 효율 을 높이 기 위해 생 긴 다.(mybatis-plus 홈 페이지 에서 발췌)Mybatis 는 우리 에 게 큰 편 의 를 제공 해 주 었 지만 부족 한 점 이 있 습 니 다.MP 의 존 재 는 Mybatis 의 부족 함 을 조금 보완 하기 위해 서 입 니 다.Mybatis 를 사용 할 때 업무 논 리 를 쓸 때마다 DAO 층 에 방법 을 쓰 고 SQL 에 대응 해 야 한 다 는 것 을 알 수 있 습 니 다.간단 한 조건 조회 라 도 하나의 조건 만 바 뀌 어도 DAO 층 에 방법 을 추가 해 야 합 니 다.이 문제 에 대해 MP 라 는 프레임 워 크 는 Mybatis 와 Hibernate 의 장점 을 모 은 프레임 워 크 입 니 다.이 는 Hibernate 의 단일 표 CURD 작업 의 편 의 를 제공 하 는 동시에 Mybatis 의 특성 도 유지 합 니 다.
이 장 에 서 는 MybatisPlus 를 어떻게 사용 하 는 지 만 가르쳐 주 고,밑바닥 이 어떻게 이 루어 졌 는 지 깊이 알 고 싶다 면 홈 페이지 에서 소스 코드 를 다운로드 해 해석 할 수 있다.
프로젝트 생 성
여 기 는 한 걸음 도 오지 않 습 니 다.저 는 만 든 프로젝트 구 조 를 직접 드 리 겠 습 니 다.이 장의 마지막 에 소스 주 소 를 드 리 겠 습 니 다.효 과 를 볼 때 다운로드 할 수 있 습 니 다.

2.의존 도입

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.chaoqi</groupId>
 <artifactId>springboot_mybatisplus</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>jar</packaging>

 <name>springboot_mybatisplus</name>
 <description>Demo project for Spring Boot</description>

 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.0.RELEASE</version>
  <relativePath/>
 </parent>

 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
 </properties>

 <dependencies>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>1.3.2</version>
  </dependency>

  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <scope>runtime</scope>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
  <!--  jsp   -->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
  </dependency>
  <dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
  </dependency>
  <!-- SpringBoot - MyBatis      -->
  <dependency>
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-core</artifactId>
   <version>1.3.2</version>
  </dependency>

  <!-- MyBatis    Mapper -->
  <dependency>
   <groupId>tk.mybatis</groupId>
   <artifactId>mapper-spring-boot-starter</artifactId>
   <version>1.1.4</version>
  </dependency>
 </dependencies>

 <build>
  <plugins>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>
   <plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
     <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
     <verbose>true</verbose>
     <overwrite>true</overwrite>
    </configuration>
    <executions>
     <execution>
      <id>Generate MyBatis Artifacts</id>
      <goals>
       <goal>generate</goal>
      </goals>
     </execution>
    </executions>
    <dependencies>
     <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.2</version>
     </dependency>
     <dependency>
      <groupId>tk.mybatis</groupId>
      <artifactId>mapper</artifactId>
      <version>3.5.0</version>
     </dependency>
    </dependencies>
   </plugin>
  </plugins>
 </build>


</project>

3.application.yml 편집

server:
 port: 8080

spring:
 mvc:
 view:
  prefix: /WEB-INF/jsp/
  suffix: .jsp
 datasource:
 url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&useUnicode=true&useSSL=false
 username: root
 password: 123456
 driver-class-name: com.mysql.jdbc.Driver

mybatis:
 mapper-locations: classpath:mapper/*.xml
 type-aliases-package: com.chaoqi.springboot_mybatisplus.domain

4.역방향 생 성 pojo,mapper
 generator Config.xml 만 들 기

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

 <properties resource="application.yml"/>
 <classPathEntry location="D:/mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"/>
 <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
  <property name="beginningDelimiter" value="`"/>
  <property name="endingDelimiter" value="`"/>
  <property name="javaFileEncoding" value="UTF-8"/>
  <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
   <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
  </plugin>
  <!--    -->
  <commentGenerator>
   <!--            -->
   <property name="suppressDate" value="true"/>
   <!--             true:  : false:  -->
   <property name="suppressAllComments" value="false"/>
  </commentGenerator>
  <!-- JDBC   -->
  <jdbcConnection
    driverClass="com.mysql.jdbc.Driver"
    connectionURL="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8"
    userId="root"
    password="123456">
  </jdbcConnection>
  <!--         -->
  <javaModelGenerator targetPackage="com.chaoqi.springboot_mybatisplus.dao.domain" targetProject="src/main/java"/>
  <!--   mapper xml   -->
  <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
  <!--   mapper xml  Client-->
  <javaClientGenerator targetPackage="com.chaoqi.springboot_mybatisplus.dao.mapper" targetProject="src/main/java"
        type="XMLMAPPER"/>
  <!--       -->
  <table tableName="%">
   <!--mysql   -->
   <generatedKey column="id" sqlStatement="Mysql"/>
   <!--oracle   -->
   <!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>-->
  </table>
 </context>
</generatorConfiguration>

maven 운행 발전기

생 성 된 항목 구 조 는 다음 과 같 습 니 다.

5.mybatisplus 통합
 service 인터페이스 및 service 구현 클래스 만 들 기

package com.chaoqi.springboot_mybatisplus.service;


import com.chaoqi.springboot_mybatisplus.dao.domain.MusicInfo;
import java.util.List;
public interface MusicInfoService {
 public List<MusicInfo> getMusicInfo();
}


package com.chaoqi.springboot_mybatisplus.service.impl;

import com.chaoqi.springboot_mybatisplus.dao.domain.MusicInfo;
import com.chaoqi.springboot_mybatisplus.dao.mapper.MusicInfoMapper;
import com.chaoqi.springboot_mybatisplus.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class MusicInfoServiceImpl implements MusicInfoService {

 @Autowired
 private MusicInfoMapper musicInfoMapper;

 @Override
 public List<MusicInfo> getMusicInfo() {
  List<MusicInfo> musicInfos = musicInfoMapper.selectAll();
  return musicInfos;
 }
}

컨트롤 러 생 성

package com.chaoqi.springboot_mybatisplus.web;

import com.chaoqi.springboot_mybatisplus.dao.domain.MusicInfo;
import com.chaoqi.springboot_mybatisplus.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping(value = "/music")
public class MusicInfoController {

 @Autowired
 private MusicInfoService musicInfoService;

 @RequestMapping("/showMusic")
 public List<MusicInfo> getMusicInfo() {
  List<MusicInfo> musicInfo1 = musicInfoService.getMusicInfo();
  return musicInfo1;
 }

}

여기 서 제 mapper 는 sql 을 쓰 지 않 습 니 다.간단 한 sqlmy batiplus 는 모두 봉인 되 어 많은 개발 시간 을 절약 하 였 습 니 다.복잡 한 sql 이 라면 원생 sql 을 써 서 실현 할 수 있 습 니 다.제 두 번 째 블 로그 에서 springboot+springmvc+mybatis 프로젝트 통합 까지 이 야 기 했 습 니 다.
SpringbootMybatisplusApplication 주 함수 실행

package com.chaoqi.springboot_mybatisplus;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.chaoqi.springboot_mybatisplus.dao.mapper")
public class SpringbootMybatisplusApplication {

 public static void main(String[] args) {
  SpringApplication.run(SpringbootMybatisplusApplication.class, args);
 }
}


데이터베이스 보기

다음은 my batisplus 를 포장 하 는 방법 을 알려 드 립 니 다.이런 방법 들 을 구체 적 으로 어떻게 사용 하 는 지,관심 이 있 는 파트너 는 다음 소스 코드 를 볼 수 있 습 니 다.my batisplus 는 강력 한 페이지 기능 도 있 습 니 다.관심 이 있 으 면 여기,이곳 에 가서 공부 할 수 있 습 니 다.

(원본 다운로드 주소)
마지막 으로 시청 해 주 셔 서 감사합니다.

좋은 웹페이지 즐겨찾기