spring boot整合mybatis+通用mapper+pagehelper分页插件
生活随笔
收集整理的這篇文章主要介紹了
spring boot整合mybatis+通用mapper+pagehelper分页插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
spring boot整合mybatis+通用mapper+pagehelper分頁插件
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.wendao</groupId><artifactId>springboot-03-mybatis</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>springboot-03-mybatis</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version><relativePath /> <!-- lookup parent from repository --></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><!-- mybatis-springboot --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version></dependency><!--分頁插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.2.1</version></dependency><!--通用Mapper --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>3.3.9</version></dependency><!-- druid springboot --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.6</version></dependency><!-- mysql數據庫驅動 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>2.11.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> </project>配置
在屬性配置文件中配置數據庫連接池信息
#jdbc配置 spring.datasource.druid.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8 spring.datasource.druid.username=root spring.datasource.druid.password=root spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver #配置別名 mybatis.type-aliases-package=com.wendao.demo.pojo #連接池配置 spring.datasource.druid.initial-size=20 spring.datasource.druid.max-active=400 spring.datasource.druid.min-idle=11 spring.datasource.druid.max-wait=1自己管理SqlSessionFactory
package com.wendao.demo.conf; import com.github.pagehelper.PageHelper; import tk.mybatis.spring.mapper.MapperScannerConfigurer; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.sql.DataSource; import java.util.Properties; /*** 自己實例化sqlSessionFactory* 該sqlSessionFactory* 1:使用了druid數據庫連接詞* 2:添加了pagehelper分頁插件*/ @Configuration public class MyBatisConfig {@Autowiredprivate DataSource dataSource;@Bean(name = "sqlSessionFactory")public SqlSessionFactory sqlSessionFactoryBean() {SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);bean.setTypeAliasesPackage("com.wendao.demo.pojo");//分頁插件PageHelper pageHelper = new PageHelper();Properties properties = new Properties();properties.setProperty("reasonable", "true");properties.setProperty("supportMethodsArguments", "true");properties.setProperty("returnPageInfo", "check");properties.setProperty("params", "count=countSql");pageHelper.setProperties(properties);//添加插件bean.setPlugins(new Interceptor[]{pageHelper});try {//bean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml"));return bean.getObject();} catch (Exception e) {e.printStackTrace();throw new RuntimeException(e);}}@Beanpublic PlatformTransactionManager annotationDrivenTransactionManager() {return new DataSourceTransactionManager(dataSource);} }手動管理包掃描器
package com.wendao.demo.conf; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import tk.mybatis.spring.mapper.MapperScannerConfigurer; @Configuration //必須在MyBatisConfig注冊后再加載MapperScannerConfigurer,否則會報錯 @AutoConfigureAfter(MyBatisConfig.class) public class MyBatisMapperScannerConfig {@Beanpublic MapperScannerConfigurer mapperScannerConfigurer() {MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");mapperScannerConfigurer.setBasePackage("com.wendao");return mapperScannerConfigurer;} }總結
以上是生活随笔為你收集整理的spring boot整合mybatis+通用mapper+pagehelper分页插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring boot整合mybatis
- 下一篇: Spring boot 将配置文件属性注