rename com.imyeyu.server to com.imyeyu.api

This commit is contained in:
Timi
2025-07-22 15:26:14 +08:00
parent e816b885b2
commit 323e038e86
340 changed files with 1174 additions and 1175 deletions
@@ -0,0 +1,104 @@
package com.imyeyu.api.config.dbsource;
import com.imyeyu.utils.Time;
import com.zaxxer.hikari.HikariDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.EnumTypeHandler;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* Gitea 数据源
*
* @author 夜雨
* @since 2022-11-29 22:40
*/
@Configuration
@MapperScan(basePackages = {
"com.imyeyu.api.modules.gitea.mapper",
}, sqlSessionFactoryRef = "giteaSqlSessionFactory")
public class GiteaDBConfig {
public static final String ROLLBACKER = "giteaTransactionManager";
@Bean(name = "giteaDataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource.gitea")
public DataSource dateSource() throws SQLException {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setAutoCommit(true);
dataSource.setMinimumIdle(10);
dataSource.setMaximumPoolSize(100);
dataSource.setConnectionTestQuery("SELECT 1");
dataSource.setMaxLifetime(Time.S * 180);
dataSource.setIdleTimeout(Time.S * 120);
dataSource.setLoginTimeout(5);
dataSource.setValidationTimeout(Time.S * 3);
dataSource.setConnectionTimeout(Time.S * 8);
dataSource.setLeakDetectionThreshold(Time.S * 180);
return dataSource;
}
@Bean(name = "giteaSqlSessionFactory")
@Primary
public SqlSessionFactory sessionFactory(@Qualifier("giteaDataSource") DataSource datasource) throws Exception {
org.apache.ibatis.session.Configuration config = new org.apache.ibatis.session.Configuration();
config.setUseGeneratedKeys(true);
config.setMapUnderscoreToCamelCase(true);
config.setDefaultEnumTypeHandler(EnumTypeHandler.class);
List<Resource> resources = new ArrayList<>();
{
ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
List<String> mapperLocations = new ArrayList<>();
mapperLocations.add("classpath:mapper/gitea/**/*.xml");
for (int i = 0; i < mapperLocations.size(); i++) {
resources.addAll(List.of(resourceResolver.getResources(mapperLocations.get(i))));
}
}
String[] typeAliases = {
"com.imyeyu.api.modules.gitea.entity",
};
String[] typeHandlers = {
"com.imyeyu.api.handler"
};
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(datasource);
bean.setConfiguration(config);
bean.setMapperLocations(resources.toArray(new Resource[0]));
bean.setTypeAliasesPackage(String.join(",", typeAliases));
bean.setTypeHandlersPackage(String.join(",", typeHandlers));
return bean.getObject();
}
@Bean("giteaSqlSessionTemplate")
@Primary
public SqlSessionTemplate sessionTemplate(@Qualifier("giteaSqlSessionFactory") SqlSessionFactory sessionfactory) {
return new SqlSessionTemplate(sessionfactory);
}
@Bean(name = "giteaTransactionManager")
public PlatformTransactionManager txManager(@Qualifier("giteaDataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}