All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.singledog.mybatis.boot.autoconfig.MybatisJpaAutoConfiguration Maven / Gradle / Ivy

The newest version!
package org.singledog.mybatis.boot.autoconfig;

import org.apache.ibatis.features.jpa.plugins.pagination.PageInterceptor;
import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import java.util.Properties;

@Configuration
@EnableTransactionManagement
@ConditionalOnClass(PageInterceptor.class)
@AutoConfigureAfter(DataSourceAutoConfiguration.class)
@AutoConfigureBefore(MybatisAutoConfiguration.class)
@EnableConfigurationProperties(PageInterceptorProperties.class)
public class MybatisJpaAutoConfiguration {

    @Autowired(required = false)
    private PageInterceptorProperties properties;

    @Bean
    public PageInterceptor pageInterceptor() {
        PageInterceptor pageInterceptor = new PageInterceptor();
        if (properties.getProperties() == null)
            properties.setProperties(new Properties());
        pageInterceptor.setProperties(properties.getProperties());
        return pageInterceptor;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy