900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 总结java数据类型和mysql oracle pgsql数据类型对应关系 附数据库字段类型转java类型代码

总结java数据类型和mysql oracle pgsql数据类型对应关系 附数据库字段类型转java类型代码

时间:2024-07-22 07:24:42

相关推荐

总结java数据类型和mysql oracle pgsql数据类型对应关系 附数据库字段类型转java类型代码

java的基本数据类型有八种:

byte、short、int、long、float、double、char、boolean

总结java和mysql、oracle、pgsql数据类型对应关系

注:

char是定长,使用空格向右补充;varchar是变长

mysql的datetime和timestamp的区别在于,timestamp在数据库可以自动更新(当前时间)

mysql的date(只有日期) time(只有时间) datetime(日期时间)

bit存放一位数值0或者1,而且一般被int取代 true 1 false 0

CLOB和BLOB的区别

1)CLOB使用CHAR来保存数据。 如:保存XML文档。

2)BLOB就是使用二进制保存数据。 如:保存位图。

3)JAVA里面对CLOB的操作

在绝大多数情况下,使用CLOB相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可

在oracle中varchar和varchar2有什么区别?

1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;

2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;

3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,

大部分情况下建议使用varchar2类型,可以保证更好的兼容性

mysql字段类型转java类型的方法代码

public class MySqlTypeConvert implements ITypeConvert {public MySqlTypeConvert() {}/*** mysql字段类型转java类型* @param fieldType mysql字段类型* @return*/public DbColumnType processTypeConvert(String fieldType) {String t = fieldType.toLowerCase();if (!t.contains("char") && !t.contains("text")) {if (t.contains("bigint")) {return DbColumnType.LONG;} else if (t.contains("int")) {return DbColumnType.INTEGER;} else if (!t.contains("date") && !t.contains("time") && !t.contains("year")) {if (t.contains("text")) {return DbColumnType.STRING;} else if (t.contains("bit")) {return DbColumnType.BOOLEAN;} else if (t.contains("decimal")) {return DbColumnType.BIG_DECIMAL;} else if (t.contains("clob")) {return DbColumnType.CLOB;} else if (t.contains("blob")) {return DbColumnType.BLOB;} else if (t.contains("binary")) {return DbColumnType.BYTE_ARRAY;} else if (t.contains("float")) {return DbColumnType.FLOAT;} else if (t.contains("double")) {return DbColumnType.DOUBLE;} else {return !t.contains("json") && !t.contains("enum") ? DbColumnType.STRING : DbColumnType.STRING;}} else {return DbColumnType.DATE;}} else {return DbColumnType.STRING;}}}

oracle字段类型转java类型的方法代码

public class OracleTypeConvert implements ITypeConvert {public OracleTypeConvert() {}/*** oracle字段类型转java类型* @param fieldType oracle字段类型* @return*/public DbColumnType processTypeConvert(String fieldType) {String t = fieldType.toUpperCase();if (t.contains("CHAR")) {return DbColumnType.STRING;} else if (!t.contains("DATE") && !t.contains("TIMESTAMP")) {if (t.contains("NUMBER")) {if (t.matches("NUMBER\\(+\\d\\)")) {return DbColumnType.INTEGER;} else {return t.matches("NUMBER\\(+\\d{2}+\\)") ? DbColumnType.LONG : DbColumnType.DOUBLE;}} else if (t.contains("FLOAT")) {return DbColumnType.FLOAT;} else if (t.contains("clob")) {return DbColumnType.CLOB;} else if (t.contains("BLOB")) {return DbColumnType.OBJECT;} else if (t.contains("binary")) {return DbColumnType.BYTE_ARRAY;} else {return t.contains("RAW") ? DbColumnType.BYTE_ARRAY : DbColumnType.STRING;}} else {return DbColumnType.DATE;}}}

pgsql字段类型转java类型的方法代码

public class PostgreSqlTypeConvert implements ITypeConvert {public PostgreSqlTypeConvert() {}public DbColumnType processTypeConvert(String fieldType) {String t = fieldType.toLowerCase();if (!t.contains("char") && !t.contains("text")) {if (t.contains("bigint")) {return DbColumnType.LONG;} else if (t.contains("int")) {return DbColumnType.INTEGER;} else if (!t.contains("date") && !t.contains("time") && !t.contains("year")) {if (t.contains("text")) {return DbColumnType.STRING;} else if (t.contains("bit")) {return DbColumnType.BOOLEAN;} else if (t.contains("decimal")) {return DbColumnType.BIG_DECIMAL;} else if (t.contains("clob")) {return DbColumnType.CLOB;} else if (t.contains("blob")) {return DbColumnType.BYTE_ARRAY;} else if (t.contains("float")) {return DbColumnType.FLOAT;} else if (t.contains("double")) {return DbColumnType.DOUBLE;} else if (!t.contains("json") && !t.contains("enum")) {return t.contains("boolean") ? DbColumnType.BOOLEAN : DbColumnType.STRING;} else {return DbColumnType.STRING;}} else {return DbColumnType.DATE;}} else {return DbColumnType.STRING;}}}

public enum DbColumnType {BASE_INT("int", (String)null),BASE_BOOLEAN("boolean", (String)null),BASE_FLOAT("float", (String)null),BASE_DOUBLE("double", (String)null),STRING("String", (String)null),LONG("Long", (String)null),INTEGER("Integer", (String)null),FLOAT("Float", (String)null),DOUBLE("Double", (String)null),BOOLEAN("Boolean", (String)null),BYTE_ARRAY("byte[]", (String)null),CHARACTER("Character", (String)null),OBJECT("Object", (String)null),DATE("Date", "java.util.Date"),TIME("Time", "java.sql.Time"),BLOB("Blob", "java.sql.Blob"),CLOB("Clob", "java.sql.Clob"),TIMESTAMP("Timestamp", "java.sql.Timestamp"),BIG_INTEGER("BigInteger", "java.math.BigInteger"),BIG_DECIMAL("BigDecimal", "java.math.BigDecimal"),LOCAL_DATE("LocalDate", "java.time.LocalDate"),LOCAL_TIME("LocalTime", "java.time.LocalTime"),LOCAL_DATE_TIME("LocalDateTime", "java.time.LocalDateTime");private final String type;private final String pkg;private DbColumnType(String type, String pkg) {this.type = type;this.pkg = pkg;}public String getType() {return this.type;}public String getPkg() {return this.pkg;}}

注:

这里参考了mybatis-plus-2.0.6.jar的生成实体类的源码,具体可以查看mybatis-plus的源码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。