springboot快速集成mybatis-plus的詳細(xì)教程
簡(jiǎn)介
Mybatis-Plus(簡(jiǎn)稱(chēng)MP)是一個(gè) Mybatis 的增強(qiáng)工具,在 Mybatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。這是官方給的定義,關(guān)于mybatis-plus的更多介紹及特性,可以參考mybatis-plus官網(wǎng)。那么它是怎么增強(qiáng)的呢?其實(shí)就是它已經(jīng)封裝好了一些crud方法,我們不需要再寫(xiě)xml了,直接調(diào)用這些方法就行,就類(lèi)似于JPA。
springBoot快速集成mybatis-plus
一、pom文件引入mybatis-plus依賴(lài)
<dependencies> <!--web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--mysql驅(qū)動(dòng)--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> </dependency> <!---test--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
注: 這里最主要的是mybatis-plus-boot-starter依賴(lài),其他依賴(lài)都是基本的
二、基礎(chǔ)配置 application.properties
#mysql數(shù)據(jù)庫(kù) spring.datasource.url= jdbc:mysql://127.0.0.1:3306/springbootdemo?characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8 spring.datasource.username= root spring.datasource.password= 111111 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #mybatis #開(kāi)啟駝峰 mybatis.configuration.map-underscore-to-camel-case=true #打印日志 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl #mybatis-plus配置 mybatis-plus.mapper-locations=classpath*:/mappers/*.xml #主鍵類(lèi)型 0:"數(shù)據(jù)庫(kù)ID自增", 1:"用戶(hù)輸入ID",2:"全局唯一ID (數(shù)字類(lèi)型唯一ID)", 3:"全局唯一ID UUID"; mybatis-plus.global-config.id-type=0 #字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷" mybatis-plus.global-config.field-strategy= 1 #駝峰下劃線(xiàn)轉(zhuǎn)換 mybatis-plus.global-config.db-column-underline=true
三、MybatisPlusConfig
/**
* MybatisPlus配置類(lèi)
*/
@EnableTransactionManagement
@Configuration
@MapperScan(basePackages = "com.example.demo.mapper")
public class MybatisPlusConfig {
/**
* 分頁(yè)插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
四、測(cè)試
實(shí)體類(lèi) 主鍵使用@TableId(value = "id",type = IdType.AUTO)指定類(lèi)型
@TableField(exist = false):表示該屬性不為數(shù)據(jù)庫(kù)表字段,但又是必須使用的。
@Data
public class SysUser implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主鍵
*/
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
/**
* 用戶(hù)名
*/
private String username;
/**
* 密碼
*/
private String password;
/**
* 電話(huà)
*/
private String phone;
/**
* 郵箱
*/
private String email;
/**
* 創(chuàng)建時(shí)間
*/
private Date createDate;
/**
* 更新時(shí)間
*/
private Date updateDate;
/**
* sys_user
*/
}
新建SysUserMapper繼承 BaseMapper
public interface SysUserMapper extends BaseMapper<SysUser> {
}
測(cè)試
@Autowired
private SysUserMapper sysUserMapper;
/**
* 插入
*/
@Test
public void insert() {
SysUser sysUser=new SysUser();
sysUser.setPhone("18787878787");
sysUser.setPassword("123456");
sysUser.setUsername("root");
sysUser.setCreateDate(new Date());
sysUser.setUpdateDate(new Date());
sysUserMapper.insert(sysUser);
}
/**
* 分頁(yè)查詢(xún)
*/
@Test
public void selectByPage() {
Page<SysUser> page=new Page(1,1);
IPage p= sysUserMapper.selectPage(page,new QueryWrapper<SysUser>().eq("password","123456"));
System.out.println(p.getRecords());
}
分頁(yè)一般使用
List<ApiLogVO> getCallLogList(ApiLogDTO dto, Page page); mapper
IPage<ApiLogVO> getCallLogList(ApiLogDTO dto); IService
serviceImpl
@Override
public IPage<ApiLogVO> getCallLogList(ApiLogDTO dto) {
Page<ApiLogVO> page=new Page(dto.getCurrent(),dto.getSize());
List<ApiLogVO>list= apiLogMapper.getCallLogList(dto,page);
page.setRecords(list);
return page;
}
controller
@PostMapping("/call/log")
@ApiOperation("api調(diào)用日志列表")
public IPage<ApiLogVO> callLog(@ModelAttribute ApiLogDTO dto){
return sysService.getCallLogList(dto);
}
附上目錄結(jié)構(gòu)

總結(jié)
到此這篇關(guān)于springboot快速集成mybatis-plus的詳細(xì)教程的文章就介紹到這了,更多相關(guān)springboot集成mybatis-plus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring中的EventListenerMethodProcessor組件詳解
這篇文章主要介紹了Spring中的EventListenerMethodProcessor組件詳解,EventListenerMethodProcessor 是 Spring 事件機(jī)制中非常重要的一個(gè)組件,它管理了一組EventListenerFactory組件,用來(lái)將應(yīng)用中每個(gè)使用@EventListener注解定義的事件監(jiān)聽(tīng),需要的朋友可以參考下2023-12-12
如何基于mybatis框架查詢(xún)數(shù)據(jù)庫(kù)表數(shù)據(jù)并打印
這篇文章主要介紹了如何基于mybatis框架查詢(xún)數(shù)據(jù)庫(kù)表數(shù)據(jù)并打印,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
一文帶你了解Java萬(wàn)物之基之Object類(lèi)
Java是一門(mén)天然的面向?qū)ο蟮恼Z(yǔ)言。而所有我們手動(dòng)創(chuàng)造出來(lái)的類(lèi),都繼承于同一個(gè)類(lèi),即Object類(lèi)。本文將通過(guò)示例為大家詳細(xì)介紹一下Java中的Object類(lèi),需要的可以參考一下2022-03-03
mybatis中${}和#{}的區(qū)別以及底層原理分析
這篇文章主要介紹了mybatis中${}和#{}的區(qū)別以及底層原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
java實(shí)現(xiàn)簡(jiǎn)單快遞系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單快遞系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
Java面試之限流的實(shí)現(xiàn)方式小結(jié)
限流是指在各種應(yīng)用場(chǎng)景中,通過(guò)技術(shù)和策略手段對(duì)數(shù)據(jù)流量、請(qǐng)求頻率或資源消耗進(jìn)行有計(jì)劃的限制,本文為大家整理了常見(jiàn)的限流的實(shí)現(xiàn)方式,有需要的可以參考下2024-02-02

