Commit 9dfaf2b4 by yuwei

项目初始化

parent 5989a957
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);
}
}
package cn.datax.common.database.datasource; package cn.datax.common.database.datasource;
import cn.datax.common.database.DataSourceFactory; import cn.datax.common.database.*;
import cn.datax.common.database.DbQuery;
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.query.AbstractDbQuery;
import cn.datax.common.database.query.MySqlDbQuery;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource; import javax.sql.DataSource;
...@@ -22,16 +21,11 @@ public abstract class AbstractDataSourceFactory implements DataSourceFactory { ...@@ -22,16 +21,11 @@ public abstract class AbstractDataSourceFactory implements DataSourceFactory {
} }
public DbQuery createDbQueryTemplate(DataSource dataSource, DbType dbType) { public DbQuery createDbQueryTemplate(DataSource dataSource, DbType dbType) {
DbQuery dbQuery; DbDialect dbDialect = DialectFactory.getDialect(dbType);
switch (dbType) { AbstractDbQuery dbQuery = (AbstractDbQuery) QueryFactory.getQuery(dbType);
case MYSQL: { dbQuery.setDataSource(dataSource);
dbQuery = new MySqlDbQuery(dataSource); dbQuery.setJdbcTemplate(new JdbcTemplate(dataSource));
break; dbQuery.setDbDialect(dbDialect);
}
default: {
throw new DataQueryException("不支持的数据库类型");
}
}
return dbQuery; return dbQuery;
} }
......
...@@ -3,7 +3,8 @@ package cn.datax.common.database.dialect; ...@@ -3,7 +3,8 @@ package cn.datax.common.database.dialect;
import cn.datax.common.database.DbDialect; import cn.datax.common.database.DbDialect;
import cn.datax.common.database.constants.DbType; import cn.datax.common.database.constants.DbType;
import java.util.*; import java.util.EnumMap;
import java.util.Map;
public class DialectRegistry { public class DialectRegistry {
......
...@@ -6,6 +6,7 @@ import cn.datax.common.database.core.DbColumn; ...@@ -6,6 +6,7 @@ import cn.datax.common.database.core.DbColumn;
import cn.datax.common.database.core.PageResult; import cn.datax.common.database.core.PageResult;
import cn.datax.common.database.exception.DataQueryException; import cn.datax.common.database.exception.DataQueryException;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import lombok.Setter;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource; import javax.sql.DataSource;
...@@ -14,6 +15,7 @@ import java.sql.SQLException; ...@@ -14,6 +15,7 @@ import java.sql.SQLException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Setter
public abstract class AbstractDbQuery implements DbQuery { public abstract class AbstractDbQuery implements DbQuery {
protected DataSource dataSource; protected DataSource dataSource;
...@@ -22,11 +24,6 @@ public abstract class AbstractDbQuery implements DbQuery { ...@@ -22,11 +24,6 @@ public abstract class AbstractDbQuery implements DbQuery {
protected DbDialect dbDialect; protected DbDialect dbDialect;
public AbstractDbQuery(DataSource dataSource) {
this.dataSource = dataSource;
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
@Override @Override
public boolean valid() throws SQLException { public boolean valid() throws SQLException {
Connection conn = dataSource.getConnection(); Connection conn = dataSource.getConnection();
......
package cn.datax.common.database.query;
import cn.datax.common.database.dialect.MySqlDialect;
import javax.sql.DataSource;
public class MySqlDbQuery extends AbstractDbQuery {
public MySqlDbQuery(DataSource dataSource) {
super(dataSource);
dbDialect = new MySqlDialect();
}
}
package cn.datax.common.database.query;
public class MySqlQuery 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.MYSQL, new MySqlQuery());
}
public DbQuery getQuery(DbType dbType) {
return query_enum_map.get(dbType);
}
}
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