1. 程式人生 > >SpringBoot學習筆記11——MyBatisPlus初探

SpringBoot學習筆記11——MyBatisPlus初探

最近博主將JPA的學習雪藏了,等以後有機會再學,因為博主接觸了MyBatisPuls!!!

博主覺得MyBatisPuls這個框架是非常好用的框架。

本篇部落格記錄一下MyBatisPlus的基本配置。

MyBatisPlus是MyBatis的增強工具,在 MyBatis 的基礎上只做增強不做改變。

MyBatisPlus幾乎和MyBatis配置幾乎相同。

我們來看一下配置過程。

1.引如MyBatisPlus依賴

下面是整個pom檔案

<?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.example</groupId>
    <artifactId>world-address-dao</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>world-address-dao</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <artifactId>world</artifactId>
        <groupId>com.youyou</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </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>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--MybatisPlus依賴-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.1</version>
        </dependency>

    </dependencies>

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


</project>

2.定義個實體類

這裡需要配置一個@TableName

package com.youyou.address.entity;


import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * 資料庫實體,聯絡人
 */
@Data
@TableName("ts_contacter")
public class ContacterEO {
    /**
     * 主鍵
     */
    private String id;
    /**
     * 姓名
     */
    private String name;

    /**
     * 性別(0,女;1,男)
     */
    private String sex;

    /**
     * 年齡
     */
    private Integer age ;

    /**
     * 電話
     */
    private  String phone;

    /**
     * 地址
     */
    private String location;

    /**
     * 刪除(0,未刪除;1,刪除)
     */
    private String dflag ;
}

3.建立dao

這裡需要繼承BaseMapper<>介面,

繼承BaseMapper介面之後,會繼承一些CRUD方法,我們就可以直接呼叫了。

package com.youyou.address.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youyou.address.entity.ContacterEO;

import java.util.List;

public interface ContacterDao extends BaseMapper<ContacterEO> {

}

4.建立service

package com.youyou.address.service;

import com.youyou.address.dao.ContacterDao;
import com.youyou.address.entity.ContacterEO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class ContacterService {

    @Autowired
    private ContacterDao dao;

    /**
     * 儲存聯絡人
     *
     * @param contacterEO
     */
    public void saveOne(ContacterEO contacterEO) {
        dao.insert(contacterEO);
    }


}

5.建立controller

package com.youyou.address.controller;

import com.youyou.address.entity.ContacterEO;
import com.youyou.address.service.ContacterService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Api(description = "聯絡人介面")
@RestController
@RequestMapping(value = "/contacter")
public class ContacterController {

    @Autowired
    private ContacterService service;

    @ApiOperation(value = "新增")
    @GetMapping("/add")
    public ContacterEO add(ContacterEO contacterEO) {
        System.out.println("新增一個聯絡人");

        service.saveOne(contacterEO);

        return contacterEO;
    }

   

}

這樣我們就已經配置完成了,無需配置Mapper的XML檔案就能使用CRUD方法了。

 

接下來介紹一下自定義方法的配置。

6.配置application.properties檔案

#設定mapper檔案的位置
mybatis-plus.mapper-locations: classpath*:mapper/*.xml

7.建立Mapper檔案,檔案放到mapper資料夾下。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.youyou.address.dao.ContacterDao" >

    <select id="findAll" resultType="com.youyou.address.entity.ContacterEO">
        select * from ts_contacter
    </select>

</mapper>

後邊的操作就和myBatis一樣了,配置MaBatis的部落格,博主就在之前的部落格已經寫過了。下面是部落格地址https://blog.csdn.net/lp840312696/article/details/82969537

這樣一來我們就可以即使用MyBatisPlus封裝的CRUD方法也能自定義方法了。

本片部落格到此結束。