123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.api.base.config;
- import com.github.pagehelper.PageInterceptor;
- import org.apache.ibatis.plugin.Interceptor;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.mybatis.spring.SqlSessionFactoryBean;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
- import org.springframework.core.io.support.ResourcePatternResolver;
- import tk.mybatis.spring.mapper.MapperScannerConfigurer;
- import javax.sql.DataSource;
- import java.util.Properties;
- import static com.api.base.config.ProjectConstant.*;
- /**
- * Mybatis & Mapper & PageHelper 配置
- */
- @Configuration
- public class MybatisConfigurer {
- Logger logger = LoggerFactory.getLogger(this.getClass());
- @Bean
- public SqlSessionFactory sqlSessionFactoryBean(DataSource dataSource) throws Exception {
- SqlSessionFactoryBean factory = new SqlSessionFactoryBean();
- org.apache.ibatis.session.Configuration configuration =new org.apache.ibatis.session.Configuration();
- configuration.setCallSettersOnNulls(true);
- factory.setDataSource(dataSource);
- factory.setConfiguration(configuration);
- factory.setTypeAliasesPackage(MODEL_PACKAGE);
- //配置分页插件,详情请查阅官方文档
- PageInterceptor pageInterceptor = new PageInterceptor();
- Properties properties = new Properties();
- pageInterceptor.setProperties(properties);
- //添加插件
- factory.setPlugins(new Interceptor[]{pageInterceptor});
- //添加XML目录
- ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
- factory.setMapperLocations(resolver.getResources("classpath*:com/api/**/mapper/*.xml"));
- return factory.getObject();
- }
- @Bean
- public MapperScannerConfigurer mapperScannerConfigurer() {
- MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
- mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean");
- mapperScannerConfigurer.setBasePackage(MAPPER_PACKAGE);
- //配置通用Mapper,详情请查阅官方文档
- Properties properties = new Properties();
- properties.setProperty("mappers", MAPPER_INTERFACE_REFERENCE);
- properties.setProperty("notEmpty", "false");//insert、update是否判断字符串类型!='' 即 test="str != null"表达式内是否追加 and str != ''
- properties.setProperty("IDENTITY", "MYSQL");
- mapperScannerConfigurer.setProperties(properties);
- return mapperScannerConfigurer;
- }
- }
|