|
@@ -1,119 +1,119 @@
|
|
|
-package com.fs.app.config;
|
|
|
|
|
-
|
|
|
|
|
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
|
|
|
|
-import org.apache.ibatis.reflection.MetaObject;
|
|
|
|
|
-import org.springframework.context.annotation.Bean;
|
|
|
|
|
-import org.springframework.context.annotation.Configuration;
|
|
|
|
|
-
|
|
|
|
|
-import java.time.LocalDateTime;
|
|
|
|
|
-
|
|
|
|
|
-/**
|
|
|
|
|
- * MyBatis-Plus配置类
|
|
|
|
|
- *
|
|
|
|
|
- * @author zhangqin
|
|
|
|
|
- * @date 2025-11-03
|
|
|
|
|
- */
|
|
|
|
|
-@Configuration
|
|
|
|
|
-public class MybatisPlusConfig {
|
|
|
|
|
-
|
|
|
|
|
-// @Autowired
|
|
|
|
|
-// private Environment env;
|
|
|
|
|
|
|
+//package com.fs.app.config;
|
|
|
//
|
|
//
|
|
|
-// static final String DEFAULT_RESOURCE_PATTERN = "**/*.class";
|
|
|
|
|
|
|
+//import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
|
|
|
|
+//import org.apache.ibatis.reflection.MetaObject;
|
|
|
|
|
+//import org.springframework.context.annotation.Bean;
|
|
|
|
|
+//import org.springframework.context.annotation.Configuration;
|
|
|
|
|
+//
|
|
|
|
|
+//import java.time.LocalDateTime;
|
|
|
|
|
+//
|
|
|
|
|
+///**
|
|
|
|
|
+// * MyBatis-Plus配置类
|
|
|
|
|
+// *
|
|
|
|
|
+// * @author zhangqin
|
|
|
|
|
+// * @date 2025-11-03
|
|
|
|
|
+// */
|
|
|
|
|
+//@Configuration
|
|
|
|
|
+//public class MybatisPlusConfig {
|
|
|
|
|
+//
|
|
|
|
|
+//// @Autowired
|
|
|
|
|
+//// private Environment env;
|
|
|
|
|
+////
|
|
|
|
|
+//// static final String DEFAULT_RESOURCE_PATTERN = "**/*.class";
|
|
|
|
|
+////
|
|
|
|
|
+//// public static String setTypeAliasesPackage(String typeAliasesPackage)
|
|
|
|
|
+//// {
|
|
|
|
|
+//// ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
|
|
|
|
|
+//// MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver);
|
|
|
|
|
+//// List<String> allResult = new ArrayList<String>();
|
|
|
|
|
+//// try
|
|
|
|
|
+//// {
|
|
|
|
|
+//// for (String aliasesPackage : typeAliasesPackage.split(","))
|
|
|
|
|
+//// {
|
|
|
|
|
+//// List<String> result = new ArrayList<String>();
|
|
|
|
|
+//// aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
|
|
|
|
|
+//// + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN;
|
|
|
|
|
+//// Resource[] resources = resolver.getResources(aliasesPackage);
|
|
|
|
|
+//// if (resources != null && resources.length > 0)
|
|
|
|
|
+//// {
|
|
|
|
|
+//// MetadataReader metadataReader = null;
|
|
|
|
|
+//// for (Resource resource : resources)
|
|
|
|
|
+//// {
|
|
|
|
|
+//// if (resource.isReadable())
|
|
|
|
|
+//// {
|
|
|
|
|
+//// metadataReader = metadataReaderFactory.getMetadataReader(resource);
|
|
|
|
|
+//// try
|
|
|
|
|
+//// {
|
|
|
|
|
+//// result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName());
|
|
|
|
|
+//// }
|
|
|
|
|
+//// catch (ClassNotFoundException e)
|
|
|
|
|
+//// {
|
|
|
|
|
+//// e.printStackTrace();
|
|
|
|
|
+//// }
|
|
|
|
|
+//// }
|
|
|
|
|
+//// }
|
|
|
|
|
+//// }
|
|
|
|
|
+//// if (result.size() > 0)
|
|
|
|
|
+//// {
|
|
|
|
|
+//// HashSet<String> hashResult = new HashSet<String>(result);
|
|
|
|
|
+//// allResult.addAll(hashResult);
|
|
|
|
|
+//// }
|
|
|
|
|
+//// }
|
|
|
|
|
+//// if (allResult.size() > 0)
|
|
|
|
|
+//// {
|
|
|
|
|
+//// typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0]));
|
|
|
|
|
+//// }
|
|
|
|
|
+//// else
|
|
|
|
|
+//// {
|
|
|
|
|
+//// throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包");
|
|
|
|
|
+//// }
|
|
|
|
|
+//// }
|
|
|
|
|
+//// catch (IOException e)
|
|
|
|
|
+//// {
|
|
|
|
|
+//// e.printStackTrace();
|
|
|
|
|
+//// }
|
|
|
|
|
+//// return typeAliasesPackage;
|
|
|
|
|
+//// }
|
|
|
|
|
+//// /**
|
|
|
|
|
+//// * 分页插件
|
|
|
|
|
+//// */
|
|
|
|
|
+//// @Bean
|
|
|
|
|
+//// public SqlSessionFactory sqlSessionFactorys(DataSource dataSource) throws Exception
|
|
|
|
|
+//// {
|
|
|
|
|
+//// String typeAliasesPackage = env.getProperty("mybatis-plus.typeAliasesPackage");
|
|
|
|
|
+//// String mapperLocations = env.getProperty("mybatis-plus.mapperLocations");
|
|
|
|
|
+//// String configLocation = env.getProperty("mybatis-plus.configLocation");
|
|
|
|
|
+//// typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
|
|
|
|
|
+//// VFS.addImplClass(SpringBootVFS.class);
|
|
|
|
|
+////
|
|
|
|
|
+//// final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
|
|
|
|
|
+//// sessionFactory.setDataSource(dataSource);
|
|
|
|
|
+//// sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
|
|
|
|
|
+//// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
|
|
|
|
|
+//// sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
|
|
|
|
|
+//// // 添加MyBatis-Plus分页插件
|
|
|
|
|
+//// PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
|
|
|
|
|
+//// sessionFactory.setPlugins(new PaginationInterceptor[]{paginationInterceptor});
|
|
|
|
|
+//// return sessionFactory.getObject();
|
|
|
|
|
+//// }
|
|
|
//
|
|
//
|
|
|
-// public static String setTypeAliasesPackage(String typeAliasesPackage)
|
|
|
|
|
-// {
|
|
|
|
|
-// ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
|
|
|
|
|
-// MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver);
|
|
|
|
|
-// List<String> allResult = new ArrayList<String>();
|
|
|
|
|
-// try
|
|
|
|
|
-// {
|
|
|
|
|
-// for (String aliasesPackage : typeAliasesPackage.split(","))
|
|
|
|
|
-// {
|
|
|
|
|
-// List<String> result = new ArrayList<String>();
|
|
|
|
|
-// aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
|
|
|
|
|
-// + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN;
|
|
|
|
|
-// Resource[] resources = resolver.getResources(aliasesPackage);
|
|
|
|
|
-// if (resources != null && resources.length > 0)
|
|
|
|
|
-// {
|
|
|
|
|
-// MetadataReader metadataReader = null;
|
|
|
|
|
-// for (Resource resource : resources)
|
|
|
|
|
-// {
|
|
|
|
|
-// if (resource.isReadable())
|
|
|
|
|
-// {
|
|
|
|
|
-// metadataReader = metadataReaderFactory.getMetadataReader(resource);
|
|
|
|
|
-// try
|
|
|
|
|
-// {
|
|
|
|
|
-// result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName());
|
|
|
|
|
-// }
|
|
|
|
|
-// catch (ClassNotFoundException e)
|
|
|
|
|
-// {
|
|
|
|
|
-// e.printStackTrace();
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// if (result.size() > 0)
|
|
|
|
|
-// {
|
|
|
|
|
-// HashSet<String> hashResult = new HashSet<String>(result);
|
|
|
|
|
-// allResult.addAll(hashResult);
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// if (allResult.size() > 0)
|
|
|
|
|
-// {
|
|
|
|
|
-// typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0]));
|
|
|
|
|
-// }
|
|
|
|
|
-// else
|
|
|
|
|
-// {
|
|
|
|
|
-// throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包");
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// catch (IOException e)
|
|
|
|
|
-// {
|
|
|
|
|
-// e.printStackTrace();
|
|
|
|
|
-// }
|
|
|
|
|
-// return typeAliasesPackage;
|
|
|
|
|
-// }
|
|
|
|
|
// /**
|
|
// /**
|
|
|
-// * 分页插件
|
|
|
|
|
|
|
+// * 自动填充处理器
|
|
|
// */
|
|
// */
|
|
|
// @Bean
|
|
// @Bean
|
|
|
-// public SqlSessionFactory sqlSessionFactorys(DataSource dataSource) throws Exception
|
|
|
|
|
-// {
|
|
|
|
|
-// String typeAliasesPackage = env.getProperty("mybatis-plus.typeAliasesPackage");
|
|
|
|
|
-// String mapperLocations = env.getProperty("mybatis-plus.mapperLocations");
|
|
|
|
|
-// String configLocation = env.getProperty("mybatis-plus.configLocation");
|
|
|
|
|
-// typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
|
|
|
|
|
-// VFS.addImplClass(SpringBootVFS.class);
|
|
|
|
|
|
|
+// public MetaObjectHandler metaObjectHandler() {
|
|
|
|
|
+// return new MetaObjectHandler() {
|
|
|
|
|
+// @Override
|
|
|
|
|
+// public void insertFill(MetaObject metaObject) {
|
|
|
|
|
+// setFieldValByName("createTime", LocalDateTime.now(), metaObject);
|
|
|
|
|
+// setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
|
|
|
|
|
+// }
|
|
|
//
|
|
//
|
|
|
-// final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
|
|
|
|
|
-// sessionFactory.setDataSource(dataSource);
|
|
|
|
|
-// sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
|
|
|
|
|
-// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
|
|
|
|
|
-// sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
|
|
|
|
|
-// // 添加MyBatis-Plus分页插件
|
|
|
|
|
-// PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
|
|
|
|
|
-// sessionFactory.setPlugins(new PaginationInterceptor[]{paginationInterceptor});
|
|
|
|
|
-// return sessionFactory.getObject();
|
|
|
|
|
|
|
+// @Override
|
|
|
|
|
+// public void updateFill(MetaObject metaObject) {
|
|
|
|
|
+// setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
|
|
|
|
|
+// }
|
|
|
|
|
+// };
|
|
|
// }
|
|
// }
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 自动填充处理器
|
|
|
|
|
- */
|
|
|
|
|
- @Bean
|
|
|
|
|
- public MetaObjectHandler metaObjectHandler() {
|
|
|
|
|
- return new MetaObjectHandler() {
|
|
|
|
|
- @Override
|
|
|
|
|
- public void insertFill(MetaObject metaObject) {
|
|
|
|
|
- setFieldValByName("createTime", LocalDateTime.now(), metaObject);
|
|
|
|
|
- setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- public void updateFill(MetaObject metaObject) {
|
|
|
|
|
- setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
|
|
+//}
|
|
|
|
|
+//
|