springboot整合Mybatis-plus的實現(xiàn)
1.添加pom引用
maven的引用很簡單,官方已經(jīng)給出starter,不需要我們考慮它的依賴關(guān)系了,此處使用的是2.3版本。
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.3</version> </dependency>
2.配置
server.port=8080 #mysql spring.datasource.url=jdbc:mysql://localhost:3306/ease-run?useUnicode=true&characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver #mybatis-plus mybatis-plus.mapper-locations=classpath:com/mht/springbootmybatisplus/mapper/xml/*.xml mybatis-plus.type-aliases-package=com.mht.springbootmybatisplus.entity mybatis-plus.configuration.map-underscore-to-camel-case: true
官方已經(jīng)提供了基于springboot的配置,將其拷貝過來放在application.yml中即可使用,此處只是將官方部分的配置刪減過一些。其中column-underline: true特別好用,會自動將下劃線格式的表字段,轉(zhuǎn)換為以駝峰格式命名的屬性。
官方提供的yml配置:
mybatis-plus: global-config: db-config: id-type: auto field-strategy: not_empty #駝峰下劃線轉(zhuǎn)換 column-underline: true #邏輯刪除配置 logic-delete-value: 0 logic-not-delete-value: 1 db-type: mysql refresh: false configuration: map-underscore-to-camel-case: true cache-enabled: false
注意事項:
需要更改的地方有:文件輸出路徑(根據(jù)項目需要定制),數(shù)據(jù)源(此類是單獨的數(shù)據(jù)庫反向生成代碼執(zhí)行文件,因此springboot的數(shù)據(jù)源不起作用),包配置,以及一些基本的生成策略...總之還是參考一下我的另一篇文章吧,謝謝!
執(zhí)行,刷新,獲得自動生成的業(yè)務(wù)代碼,不再贅述。
注意?。。∩珊笠欢ㄓ浀迷趕pring boot項目中添加mybatis的包掃描路徑,或@Mapper注解:
@SpringBootApplication
@MapperScan("com.mht.springbootmybatisplus.mapper")
public class SpringBootMybatisPlusApplication {
private static final Logger logger = LoggerFactory.getLogger(SpringBootMybatisPlusApplication.class);
public static void main(String[] args) {
SpringApplication.run(SpringBootMybatisPlusApplication.class, args);
logger.info("========================啟動完畢========================");
}
}
或:
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
否則會報:Error creating bean with name 'xxxServiceImpl': Unsatisfied dependency expressed through field 'baseMapper';
至此,我們的底層增刪改查操作全部完畢!
3.分頁
1.添加配置文件,此處配置文件表示開啟mybatis-plus分頁功能
@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
或者:
package com.paic.ocss.gateway.dao.config;
import com.baomidou.mybatisplus.entity.GlobalConfiguration;
import com.github.pagehelper.PageHelper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import java.util.Properties;
@Configuration
@MapperScan("com.paic.ocss.gateway.dao.mapper*")
@Import(value = { com.paic.ocss.monitor.cat.mybatis.SpringCloudCatMybatisConfig.class })
public class MybatisConfig {
@Bean
public GlobalConfiguration globalConfiguration() {
GlobalConfiguration global = new GlobalConfiguration();
global.setDbType("mysql");
return global;
}
/**
* 配置mybatis的分頁插件pageHelper
* @return
*/
@Bean
public PageHelper pageHelper(){
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum","true");
properties.setProperty("rowBoundsWithCount","true");
properties.setProperty("reasonable","true");
//配置mysql數(shù)據(jù)庫的方言
properties.setProperty("dialect","mysql");
pageHelper.setProperties(properties);
return pageHelper;
}
}
Mapper:
/**
* User 表數(shù)據(jù)庫控制層接口
*/
public interface UserMapper extends BaseMapper<User> {
@Select("selectUserList")
List<User> selectUserList(Pagination page,String state);
}
新建UserMapper配置文件:
<?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.baomidou.springmvc.mapper.system.UserMapper">
<!-- 通用查詢結(jié)果列-->
<sql id="Base_Column_List">
id, name, age
</sql>
<select id="selectUserList" resultType="User">
SELECT * FROM sys_user WHERE state=#{state}
</select>
</mapper>
4.新建service層類UserService:
/**
*
* User 表數(shù)據(jù)服務(wù)層接口實現(xiàn)類
*
*/
@Service
public class UserService extends ServiceImpl<UserMapper, User>{
public Page<User> selectUserPage(Page<User> page, String state) {
page.setRecords(baseMapper.selectUserList(page,state));
return page;
}
}
UserService繼承了ServiceImpl類,mybatis-plus通過這種方式為我們注入了UserMapper,這樣可以使用service層默認為我們提供的很多方法,也可以調(diào)用我們自己在dao層編寫的操作數(shù)據(jù)庫的方法.Page類是mybatis-plus提供分頁功能的一個model,繼承了Pagination,這樣我們也不需要自己再編寫一個Page類,直接使用即可.
5,新建controller層UserController:
@Controller
public class UserController extends BaseController {
@Autowired
private IUserService userService;
@ResponseBody
@RequestMapping("/page")
public Object selectPage(Model model){
Page page=new Page(1,10); //1表示當前頁,而10表示每頁的顯示顯示的條目數(shù)
page = userService.selectUserPage(page, "NORMAL");
return page;
}
到此這篇關(guān)于springboot整合Mybatis-plus的實現(xiàn)的文章就介紹到這了,更多相關(guān)springboot整合Mybatis-plus內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring中配置ContextLoaderListener方式
這篇文章主要介紹了Spring中配置ContextLoaderListener方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
史上最全最強SpringMVC詳細示例實戰(zhàn)教程(圖文)
這篇文章主要介紹了史上最全最強SpringMVC詳細示例實戰(zhàn)教程(圖文),需要的朋友可以參考下2016-12-12
Java數(shù)據(jù)結(jié)構(gòu)優(yōu)先隊列實練
通常都把隊列比喻成排隊買東西,大家都很守秩序,先排隊的人就先買東西。但是優(yōu)先隊列有所不同,它不遵循先進先出的規(guī)則,而是根據(jù)隊列中元素的優(yōu)先權(quán),優(yōu)先權(quán)最大的先被取出,這篇文章主要介紹了java優(yōu)先隊列的真題,感興趣的朋友一起看看吧2022-07-07
IDEA創(chuàng)建Maven一直爆紅無法下載的問題解決辦法
這篇文章主要介紹了關(guān)于IDEA創(chuàng)建Maven一直爆紅無法下載的問題的解決辦法,文中圖文結(jié)合的方式給大家講解的非常詳細,對大家解決辦法非常有用,需要的朋友可以參考下2024-06-06
SpringBoot中@EnableAutoConfiguration注解源碼分析
這篇文章主要介紹了SpringBoot中@EnableAutoConfiguration注解源碼分析,@EnableAutoConfiguration,主要是用于加載Starter目錄包之外的、需要Spring自動生成Bean對象的、帶有@Configuration注解的類,需要的朋友可以參考下2023-08-08
SpringMVC解析JSON請求數(shù)據(jù)問題解析
這篇文章主要介紹了SpringMVC解析JSON請求數(shù)據(jù)問題解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04

