SpringBoot學習筆記11——MyBatisPlus初探
阿新 • • 發佈:2018-11-12
最近博主將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方法也能自定義方法了。
本片部落格到此結束。