Commit 77ef153a by yuwei

2.0.0项目初始化

parent 93073a89
package cn.datax.common.database;
import cn.datax.common.database.constants.DbType;
import cn.datax.common.database.query.QueryRegistry;
public class QueryFactory {
private static final QueryRegistry QUERY_REGISTRY = new QueryRegistry();
public static DbQuery getQuery(DbType dbType) {
return QUERY_REGISTRY.getQuery(dbType);
}
}
...@@ -4,7 +4,7 @@ import cn.datax.common.database.*; ...@@ -4,7 +4,7 @@ import cn.datax.common.database.*;
import cn.datax.common.database.constants.DbQueryProperty; import cn.datax.common.database.constants.DbQueryProperty;
import cn.datax.common.database.constants.DbType; import cn.datax.common.database.constants.DbType;
import cn.datax.common.database.exception.DataQueryException; import cn.datax.common.database.exception.DataQueryException;
import cn.datax.common.database.query.AbstractDbQuery; import cn.datax.common.database.query.DbQueryTemplate;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
...@@ -24,10 +24,10 @@ public abstract class AbstractDataSourceFactory implements DataSourceFactory { ...@@ -24,10 +24,10 @@ public abstract class AbstractDataSourceFactory implements DataSourceFactory {
public DbQuery createDbQueryTemplate(DataSource dataSource, DbType dbType) { public DbQuery createDbQueryTemplate(DataSource dataSource, DbType dbType) {
DbDialect dbDialect = DialectFactory.getDialect(dbType); DbDialect dbDialect = DialectFactory.getDialect(dbType);
AbstractDbQuery dbQuery = (AbstractDbQuery) QueryFactory.getQuery(dbType); if(dbDialect == null){
if(dbQuery == null){
throw new DataQueryException("该数据库类型正在开发中"); throw new DataQueryException("该数据库类型正在开发中");
} }
DbQueryTemplate dbQuery = new DbQueryTemplate();
dbQuery.setDataSource(dataSource); dbQuery.setDataSource(dataSource);
dbQuery.setJdbcTemplate(new JdbcTemplate(dataSource)); dbQuery.setJdbcTemplate(new JdbcTemplate(dataSource));
dbQuery.setDbDialect(dbDialect); dbQuery.setDbDialect(dbDialect);
......
...@@ -17,7 +17,7 @@ import java.util.List; ...@@ -17,7 +17,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
@Setter @Setter
public abstract class AbstractDbQuery implements DbQuery { public class DbQueryTemplate implements DbQuery {
protected DataSource dataSource; protected DataSource dataSource;
......
package cn.datax.common.database.query;
public class MariaDBQuery extends AbstractDbQuery {
}
package cn.datax.common.database.query;
public class MySqlQuery extends AbstractDbQuery {
}
package cn.datax.common.database.query;
public class Oracle12cQuery extends AbstractDbQuery {
}
package cn.datax.common.database.query;
public class OracleQuery extends AbstractDbQuery {
}
package cn.datax.common.database.query;
public class PostgreQuery extends AbstractDbQuery {
}
package cn.datax.common.database.query;
import cn.datax.common.database.DbQuery;
import cn.datax.common.database.constants.DbType;
import java.util.EnumMap;
import java.util.Map;
public class QueryRegistry {
private final Map<DbType, DbQuery> query_enum_map = new EnumMap<>(DbType.class);
public QueryRegistry() {
query_enum_map.put(DbType.MARIADB, new MariaDBQuery());
query_enum_map.put(DbType.MYSQL, new MySqlQuery());
query_enum_map.put(DbType.ORACLE_12C, new Oracle12cQuery());
query_enum_map.put(DbType.ORACLE, new OracleQuery());
query_enum_map.put(DbType.POSTGRE_SQL, new PostgreQuery());
query_enum_map.put(DbType.SQL_SERVER2008, new SQLServer2008Query());
query_enum_map.put(DbType.SQL_SERVER, new SQLServerQuery());
query_enum_map.put(DbType.OTHER, new UnknownQuery());
}
public DbQuery getQuery(DbType dbType) {
return query_enum_map.get(dbType);
}
}
package cn.datax.common.database.query;
public class SQLServer2008Query extends AbstractDbQuery {
}
package cn.datax.common.database.query;
public class SQLServerQuery extends AbstractDbQuery {
}
package cn.datax.common.database.query;
public class UnknownQuery extends AbstractDbQuery {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment