优化代码

This commit is contained in:
SanLi
2020-08-20 10:59:30 +08:00
parent 8a0d1bb02d
commit bb924620c0
2 changed files with 2 additions and 53 deletions

View File

@@ -34,7 +34,6 @@ import cn.smallbun.screw.core.util.JdbcUtils;
import javax.sql.DataSource;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
import static cn.smallbun.screw.core.constant.DefaultConstants.PERCENT_SIGN;
@@ -96,32 +95,13 @@ public class MariaDbDataBaseQuery extends AbstractDatabaseQuery {
*/
@Override
public List<MariadbColumnModel> getTableColumns(String table) throws QueryException {
String unsigned = "UNSIGNED";
Assert.notEmpty(table, "Table name can not be empty!");
ResultSet resultSet = null;
try {
//查询
resultSet = getMetaData().getColumns(getCatalog(), getSchema(), table, PERCENT_SIGN);
//映射
List<MariadbColumnModel> list = Mapping.convertList(resultSet,
MariadbColumnModel.class);
//处理长度问题
for (MariadbColumnModel model : list) {
// 字段类型
String dbType = model.getTypeName();
if (dbType.contains(unsigned)) {
// 无符号
model.setTypeName(dbType.replace(" UNSIGNED", ""));
} else {
// 有符号
if (isNumberType(dbType)) {
// 数字类型
model.setColumnSize(
String.valueOf(Integer.parseInt(model.getColumnSize()) + 1));
}
}
}
return list;
return Mapping.convertList(resultSet, MariadbColumnModel.class);
} catch (SQLException e) {
throw ExceptionUtils.mpe(e);
} finally {
@@ -187,10 +167,4 @@ public class MariaDbDataBaseQuery extends AbstractDatabaseQuery {
JdbcUtils.close(resultSet);
}
}
protected static boolean isNumberType(String dbType) {
String[] arr = { "NUMERIC", "DECIMAL", "TINYINT", "SMALLINT", "INTEGER", "BIGINT", "REAL",
"FLOAT", "DOUBLE" };
return Arrays.asList(arr).contains(dbType);
}
}

View File

@@ -34,7 +34,6 @@ import cn.smallbun.screw.core.util.JdbcUtils;
import javax.sql.DataSource;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
import static cn.smallbun.screw.core.constant.DefaultConstants.PERCENT_SIGN;
@@ -102,31 +101,13 @@ public class MySqlDataBaseQuery extends AbstractDatabaseQuery {
*/
@Override
public List<MySqlColumnModel> getTableColumns(String table) throws QueryException {
String unsigned = "UNSIGNED";
Assert.notEmpty(table, "Table name can not be empty!");
ResultSet resultSet = null;
try {
//查询
resultSet = getMetaData().getColumns(getCatalog(), getSchema(), table, PERCENT_SIGN);
//映射
List<MySqlColumnModel> list = Mapping.convertList(resultSet, MySqlColumnModel.class);
//处理长度问题
for (MySqlColumnModel model : list) {
// 字段类型
String dbType = model.getTypeName();
if (dbType.contains(unsigned)) {
// 无符号
model.setTypeName(dbType.replace(" UNSIGNED", ""));
} else {
// 有符号
if (isNumberType(dbType)) {
// 数字类型
model.setColumnSize(
String.valueOf(Integer.parseInt(model.getColumnSize()) + 1));
}
}
}
return list;
return Mapping.convertList(resultSet, MySqlColumnModel.class);
} catch (SQLException e) {
throw ExceptionUtils.mpe(e);
} finally {
@@ -190,10 +171,4 @@ public class MySqlDataBaseQuery extends AbstractDatabaseQuery {
JdbcUtils.close(resultSet);
}
}
protected static boolean isNumberType(String dbType) {
String[] arr = { "NUMERIC", "DECIMAL", "TINYINT", "SMALLINT", "INTEGER", "BIGINT", "REAL",
"FLOAT", "DOUBLE" };
return Arrays.asList(arr).contains(dbType);
}
}