|
|
|
@ -9,51 +9,6 @@ public class SQLiteDBmapper extends AbstractDBmapper {
|
|
|
|
|
super(mDataBase);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getDataBaseType(FieldType type, int lenght) {
|
|
|
|
|
if (FieldType.Boolean.name().equals(type.name())) {
|
|
|
|
|
return "BIT";
|
|
|
|
|
} else if (FieldType.Byte.name().equals(type.name())) {
|
|
|
|
|
return "TINYINT";
|
|
|
|
|
} else if (FieldType.Short.name().equals(type.name())) {
|
|
|
|
|
return "SMALLINT";
|
|
|
|
|
} else if (FieldType.Integer.name().equals(type.name())) {
|
|
|
|
|
return "INTEGER";
|
|
|
|
|
} else if (FieldType.Long.name().equals(type.name())) {
|
|
|
|
|
return "NUMERIC";
|
|
|
|
|
} else if (FieldType.Float.name().equals(type.name())) {
|
|
|
|
|
return "REAL";
|
|
|
|
|
} else if (FieldType.Double.name().equals(type.name())) {
|
|
|
|
|
return "FLOAT";
|
|
|
|
|
} else if (FieldType.Character.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_1.name().equals(type.name())) {
|
|
|
|
|
return "CAHR";
|
|
|
|
|
} else if (FieldType.String_10.name().equals(type.name())) {
|
|
|
|
|
return "CAHR";
|
|
|
|
|
} else if (FieldType.String_var.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var50.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var100.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var255.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var500.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var2500.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var4000.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.Date.name().equals(type.name())) {
|
|
|
|
|
return "DATE";
|
|
|
|
|
} else if (FieldType.Bytes.name().equals(type.name())) {
|
|
|
|
|
return "BLOB";
|
|
|
|
|
} else {
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getFieldSql(Field field) {
|
|
|
|
|
StringBuffer sb = new StringBuffer("");
|
|
|
|
@ -62,27 +17,29 @@ public class SQLiteDBmapper extends AbstractDBmapper {
|
|
|
|
|
FieldType type = field.getFieldType();
|
|
|
|
|
|
|
|
|
|
if (FieldType.Boolean.name().equals(type.name())) {
|
|
|
|
|
sb.append("TINYINT(1)");
|
|
|
|
|
} else if (FieldType.Dict.name().equals(type.name())) {
|
|
|
|
|
sb.append("VARCHAR(10)");
|
|
|
|
|
sb.append("BOOLEAN");
|
|
|
|
|
} else if (FieldType.Byte.name().equals(type.name())) {
|
|
|
|
|
sb.append("TINYINT(3)");
|
|
|
|
|
sb.append("TINYINT");
|
|
|
|
|
} else if (FieldType.Bytes.name().equals(type.name())) {
|
|
|
|
|
sb.append("BLOB");
|
|
|
|
|
} else if (FieldType.Character.name().equals(type.name())) {
|
|
|
|
|
sb.append("CHARACTER(1)");
|
|
|
|
|
} else if (FieldType.Short.name().equals(type.name())) {
|
|
|
|
|
sb.append("SMALLINT(5)");
|
|
|
|
|
sb.append("SMALLINT");
|
|
|
|
|
} else if (FieldType.Integer.name().equals(type.name())) {
|
|
|
|
|
sb.append("INTEGER(10)");
|
|
|
|
|
sb.append("MEDIUMINT");
|
|
|
|
|
} else if (FieldType.Long.name().equals(type.name())) {
|
|
|
|
|
sb.append("BIGINT(20)");
|
|
|
|
|
sb.append("BIGINT");
|
|
|
|
|
} else if (FieldType.Float.name().equals(type.name())) {
|
|
|
|
|
sb.append("FLOAT");
|
|
|
|
|
} else if (FieldType.Double.name().equals(type.name())) {
|
|
|
|
|
sb.append("DOUBLE");
|
|
|
|
|
} else if (FieldType.Date.name().equals(type.name())) {
|
|
|
|
|
sb.append("DATETIME");
|
|
|
|
|
} else if (FieldType.Bytes.name().equals(type.name())) {
|
|
|
|
|
sb.append("BLOB");
|
|
|
|
|
} else if (FieldType.Character.name().equals(type.name())) {
|
|
|
|
|
sb.append("CHAR(1)");
|
|
|
|
|
} else if (FieldType.Dict.name().equals(type.name())) {
|
|
|
|
|
sb.append("VARCHAR(10)");
|
|
|
|
|
} else if (FieldType.BigDecimal.name().equals(type.name())) {
|
|
|
|
|
sb.append("INTEGER");
|
|
|
|
|
} else if (FieldType.String_1.name().equals(type.name())) {
|
|
|
|
|
sb.append("CHAR(1)");
|
|
|
|
|
} else if (FieldType.String_10.name().equals(type.name())) {
|
|
|
|
@ -99,39 +56,25 @@ public class SQLiteDBmapper extends AbstractDBmapper {
|
|
|
|
|
} else if (FieldType.String_var500.name().equals(type.name())) {
|
|
|
|
|
sb.append("VARCHAR(500)");
|
|
|
|
|
} else if (FieldType.String_var2500.name().equals(type.name())) {
|
|
|
|
|
sb.append("VARCHAR(2500)");
|
|
|
|
|
sb.append("TEXT");
|
|
|
|
|
} else if (FieldType.String_var4000.name().equals(type.name())) {
|
|
|
|
|
sb.append("VARCHAR(4000)");
|
|
|
|
|
sb.append("TEXT");
|
|
|
|
|
} else if (FieldType.String_super.name().equals(type.name())) {
|
|
|
|
|
sb.append("TEXT");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!field.getIsSystem() && field.getIsMust() && (field.getDefaultValue() == null || field.getDefaultValue().toUpperCase().equals("NULL"))) {
|
|
|
|
|
sb.append(" NOT NULL");
|
|
|
|
|
} else if (!field.getIsSystem() && field.getIsMust() && field.getDefaultValue() != null && !field.getDefaultValue().toUpperCase().equals("NULL")) {
|
|
|
|
|
if (field.getFieldType().name().contains("String")) {//默认字符
|
|
|
|
|
sb.append(" NOT NULL").append(" DEFAULT '" + field.getDefaultValue() + "'");
|
|
|
|
|
} else {//不是字符就是数字,目前只考虑两张情况
|
|
|
|
|
sb.append(" NOT NULL").append(" DEFAULT " + field.getDefaultValue() + "");
|
|
|
|
|
}
|
|
|
|
|
} else if (field.getIsSystem() && field.getFieldName().equals("ID")) {
|
|
|
|
|
sb.append(" NOT NULL");
|
|
|
|
|
sb.append(" PRIMARY KEY NOT NULL");
|
|
|
|
|
} else if (field.getIsSystem() && field.getFieldName().equals("ROW_VERSION")) {
|
|
|
|
|
sb.append(" NOT NULL").append(" DEFAULT 0");
|
|
|
|
|
sb.append(" NOT NULL");
|
|
|
|
|
} else if (field.getIsSystem() && field.getFieldName().equals("IS_DELETED")) {
|
|
|
|
|
sb.append(" NOT NULL").append(" DEFAULT 0");
|
|
|
|
|
sb.append(" NOT NULL");
|
|
|
|
|
} else if (field.getIsSystem() && field.getFieldName().equals("CREATE_BY")) {
|
|
|
|
|
sb.append(" NOT NULL");
|
|
|
|
|
} else if (field.getIsSystem() && field.getFieldName().equals("CREATE_TIME")) {
|
|
|
|
|
sb.append(" NOT NULL");
|
|
|
|
|
} else if (field.getIsSystem() && field.getFieldName().equals("LAST_UPDATE_BY")) {
|
|
|
|
|
sb.append(" DEFAULT NULL");
|
|
|
|
|
} else if (field.getIsSystem() && field.getFieldName().equals("LAST_UPDATE_TIME")) {
|
|
|
|
|
sb.append(" DEFAULT NULL");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (field.getFieldComment() != null) {
|
|
|
|
|
sb.append(" COMMENT '" + field.getFieldComment() + "'");
|
|
|
|
|
}
|
|
|
|
|
return sb.toString();
|
|
|
|
|
}
|
|
|
|
@ -144,25 +87,25 @@ public class SQLiteDBmapper extends AbstractDBmapper {
|
|
|
|
|
@Override
|
|
|
|
|
public String getDataBaseType(FieldType type) {
|
|
|
|
|
if (FieldType.Boolean.name().equals(type.name())) {
|
|
|
|
|
return "TINYINT";
|
|
|
|
|
return "BOOLEAN";
|
|
|
|
|
} else if (FieldType.Byte.name().equals(type.name())) {
|
|
|
|
|
return "TINYINT";
|
|
|
|
|
} else if (FieldType.Short.name().equals(type.name())) {
|
|
|
|
|
return "SMALLINT";
|
|
|
|
|
} else if (FieldType.Integer.name().equals(type.name())) {
|
|
|
|
|
return "INTEGER";
|
|
|
|
|
return "MEDIUMINT";
|
|
|
|
|
} else if (FieldType.Long.name().equals(type.name())) {
|
|
|
|
|
return "NUMERIC";
|
|
|
|
|
return "BIGINT";
|
|
|
|
|
} else if (FieldType.Float.name().equals(type.name())) {
|
|
|
|
|
return "REAL";
|
|
|
|
|
} else if (FieldType.Double.name().equals(type.name())) {
|
|
|
|
|
return "FLOAT";
|
|
|
|
|
} else if (FieldType.Double.name().equals(type.name())) {
|
|
|
|
|
return "DOUBLE";
|
|
|
|
|
} else if (FieldType.Character.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_1.name().equals(type.name())) {
|
|
|
|
|
return "CHAR";
|
|
|
|
|
return "CHARACTER";
|
|
|
|
|
} else if (FieldType.String_10.name().equals(type.name())) {
|
|
|
|
|
return "CHAR";
|
|
|
|
|
return "CHARACTER";
|
|
|
|
|
} else if (FieldType.String_var.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var50.name().equals(type.name())) {
|
|
|
|
@ -174,11 +117,11 @@ public class SQLiteDBmapper extends AbstractDBmapper {
|
|
|
|
|
} else if (FieldType.String_var500.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
} else if (FieldType.String_var2500.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
return "TEXT";
|
|
|
|
|
} else if (FieldType.String_var4000.name().equals(type.name())) {
|
|
|
|
|
return "VARCHAR";
|
|
|
|
|
return "TEXT";
|
|
|
|
|
} else if (FieldType.Date.name().equals(type.name())) {
|
|
|
|
|
return "DATETIME";
|
|
|
|
|
return "DATE";
|
|
|
|
|
} else if (FieldType.Bytes.name().equals(type.name())) {
|
|
|
|
|
return "BLOB";
|
|
|
|
|
} else {
|
|
|
|
@ -187,50 +130,7 @@ public class SQLiteDBmapper extends AbstractDBmapper {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public FieldType getType(String type, int lenght, int precision, int scale) {
|
|
|
|
|
if ("bigint".equals(type)) {
|
|
|
|
|
return FieldType.Long;
|
|
|
|
|
} else if ("varchar".equals(type) && lenght == 50) {
|
|
|
|
|
return FieldType.String_var50;
|
|
|
|
|
} else if ("varchar".equals(type) && lenght == 100) {
|
|
|
|
|
return FieldType.String_var100;
|
|
|
|
|
} else if ("varchar".equals(type) && lenght == 255) {
|
|
|
|
|
return FieldType.String_var255;
|
|
|
|
|
} else if ("varchar".equals(type) && lenght == 500) {
|
|
|
|
|
return FieldType.String_var500;
|
|
|
|
|
} else if ("varchar".equals(type) && lenght == 2500) {
|
|
|
|
|
return FieldType.String_var2500;
|
|
|
|
|
} else if ("varchar".equals(type) && lenght == 4000) {
|
|
|
|
|
return FieldType.String_var4000;
|
|
|
|
|
} else if ("varchar".equals(type)) {
|
|
|
|
|
return FieldType.String_var;
|
|
|
|
|
} else if ("date".equals(type)) {
|
|
|
|
|
return FieldType.Date;
|
|
|
|
|
} else if ("datetime".equals(type)) {
|
|
|
|
|
return FieldType.Date;
|
|
|
|
|
} else if ("timestamp".equals(type)) {
|
|
|
|
|
return FieldType.Date;
|
|
|
|
|
} else if ("char".equals(type) && lenght == 1) {
|
|
|
|
|
return FieldType.String_1;
|
|
|
|
|
} else if ("char".equals(type) && lenght == 10) {
|
|
|
|
|
return FieldType.String_10;
|
|
|
|
|
} else if ("char".equals(type)) {
|
|
|
|
|
return FieldType.String_var;
|
|
|
|
|
} else if ("tinyint".equals(type)) {
|
|
|
|
|
return FieldType.Integer;
|
|
|
|
|
} else if ("smallint".equals(type)) {
|
|
|
|
|
return FieldType.Integer;
|
|
|
|
|
} else if ("mediumint".equals(type)) {
|
|
|
|
|
return FieldType.Integer;
|
|
|
|
|
} else if ("int".equals(type)) {
|
|
|
|
|
return FieldType.Integer;
|
|
|
|
|
} else if ("bigint".equals(type)) {
|
|
|
|
|
return FieldType.Long;
|
|
|
|
|
} else if ("float".equals(type)) {
|
|
|
|
|
return FieldType.Float;
|
|
|
|
|
} else if ("double".equals(type)) {
|
|
|
|
|
return FieldType.Double;
|
|
|
|
|
}
|
|
|
|
|
public FieldType getType(String type, int length, int precision, int scale) {
|
|
|
|
|
return FieldType.String_var50;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|