|
|
@@ -1,72 +0,0 @@
|
|
|
-package com.sckw.system.config;
|
|
|
-
|
|
|
-import com.baomidou.mybatisplus.annotation.DbType;
|
|
|
-import com.baomidou.mybatisplus.core.MybatisConfiguration;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
|
|
-import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
|
|
-import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
-import org.mybatis.spring.SqlSessionTemplate;
|
|
|
-import org.mybatis.spring.annotation.MapperScan;
|
|
|
-import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
-import org.springframework.context.annotation.Bean;
|
|
|
-import org.springframework.context.annotation.Configuration;
|
|
|
-import org.springframework.context.annotation.Primary;
|
|
|
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
|
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
-import org.springframework.transaction.PlatformTransactionManager;
|
|
|
-import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
|
-
|
|
|
-import javax.sql.DataSource;
|
|
|
-
|
|
|
-/**
|
|
|
- * MyBatis 统一配置(使用 MyBatis-Plus)
|
|
|
- * dao 和 mapper 包都使用同一个 SqlSessionFactory
|
|
|
- * @author system
|
|
|
- * @date 2024
|
|
|
- */
|
|
|
-@Configuration
|
|
|
-@EnableTransactionManagement
|
|
|
-@MapperScan(basePackages = {"com.sckw.system.dao", "com.sckw.system.mapper"},
|
|
|
- sqlSessionFactoryRef = "sqlSessionFactory")
|
|
|
-public class MyBatisMixedConfig {
|
|
|
-
|
|
|
- // ========== 统一的 MyBatis 配置 ==========
|
|
|
-
|
|
|
- @Bean(name = "sqlSessionFactory")
|
|
|
- @Primary
|
|
|
- public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
|
|
|
- MybatisConfiguration configuration = new MybatisConfiguration();
|
|
|
- configuration.setMapUnderscoreToCamelCase(true);
|
|
|
-
|
|
|
- MybatisSqlSessionFactoryBean factory = new MybatisSqlSessionFactoryBean();
|
|
|
- factory.setDataSource(dataSource);
|
|
|
- factory.setConfiguration(configuration);
|
|
|
-
|
|
|
- PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
|
|
- factory.setMapperLocations(resolver.getResources("classpath*:/mapper/**/*.xml"));
|
|
|
- // 同时扫描两个包的实体类
|
|
|
- factory.setTypeAliasesPackage("com.sckw.system.model,com.sckw.system.entity.flex");
|
|
|
-
|
|
|
- // 添加 MyBatis-Plus 插件
|
|
|
- MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
|
|
- interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
|
|
|
- factory.setPlugins(interceptor);
|
|
|
-
|
|
|
- return factory.getObject();
|
|
|
- }
|
|
|
-
|
|
|
- @Bean(name = "sqlSessionTemplate")
|
|
|
- @Primary
|
|
|
- public SqlSessionTemplate sqlSessionTemplate(
|
|
|
- @Qualifier("sqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
|
|
|
- return new SqlSessionTemplate(sqlSessionFactory);
|
|
|
- }
|
|
|
-
|
|
|
- // 事务管理器
|
|
|
- @Bean
|
|
|
- @Primary
|
|
|
- public PlatformTransactionManager transactionManager(DataSource dataSource) {
|
|
|
- return new DataSourceTransactionManager(dataSource);
|
|
|
- }
|
|
|
-}
|