package com.vci.ubcs.ddl.processor.dll; import com.alibaba.nacos.shaded.com.google.common.collect.Lists; import com.vci.ubcs.ddl.mapper.DllMsMapper; import com.vci.ubcs.ddl.mapper.DllOracleMapper; import com.vci.ubcs.ddl.mapper.DllSqlLiteMapper; import com.vci.ubcs.starter.util.VciSpringUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; /** * Description: * * @author LiHang * @date 2023/4/24 */ public class DllMapperProcessorStrategy { @Value("${spring.datasource.driver-class-name}") private static final String DATABASE_DRIVER = ""; public static List processors = Lists.newArrayList(); static { processors.add(VciSpringUtil.getBean(DllMsMapperProcessor.class)); processors.add(VciSpringUtil.getBean(DllSqlLiteMapperProcessor.class)); processors.add(VciSpringUtil.getBean(DllMySqlMapperProcessor.class)); processors.add(VciSpringUtil.getBean(DllOracleMapperProcessor.class)); } public static DllMapperProcessor getProcessor(){ for (DllMapperProcessor processor : processors) { if (processor.support(DATABASE_DRIVER)){ return processor; } } return VciSpringUtil.getBean(DllOracleMapperProcessor.class); } }