首页  :: 新随笔  :: 管理

springboot 集成mybatis plus3

Posted on 2018-09-18 20:06  季枫  阅读(4459)  评论(0编辑  收藏  举报

gradle:

compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.0.1'

 

MybatisPlusConfig.java
import com.baomidou.mybatisplus.autoconfigure.SpringBootVFS;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.MybatisXMLLanguageDriver;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.plugin.Interceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.MybatisProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.io.ResourceLoader;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.util.StringUtils;

import javax.sql.DataSource;


//Spring boot方式
@EnableTransactionManagement
@Configuration
@MapperScan("com.abcv.*.mapper.*")
public class MybatisPlusConfig {

    /**
     * 分页插件
     */
    @Bean(name = "pagination")
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor page = new PaginationInterceptor();
        page.setDialectType("mysql");
        return page;
    }


}

 

ApplicationStart.java springboot启动增加对spring文件的加载
@ImportResource("classpath:/META-INF/spring/*.xml")

  spring配置文件:

	<context:annotation-config />
	<context:component-scan base-package="com.abcv" />

	<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="plugins" >
			<list>
				<ref bean="pagination"/>
			</list>
		</property>
	</bean>

  因为dataSource、pagination都是通过spring注册的,所以mybatis plus的sessionfactory需要手动注入

如果mybatis plus分页无效,首先检查有没有配置分页插件,即上面的MybatisPlusConfig类

其次是如果自定义了sqlSessionFactory,还要将其注册进sqlSessionFactory

智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |