暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java 和 GBase 数据类型转换

三金先生 2023-05-22
324

Java 和 GBase 数据类型转换

由于 SQL 数据类型和 Java 数据类型是不同的,因此需要某种机制在使用 Java 类型的应用程序和使用 SQL 类型的数据库之间来读写数据。 为此,JDBC 提供了 getXXX 和 setXXX 方法集、方法 registerOutParameter 和类 Types。 GBase JDBC 在处理 GBase 数据类型与 Java 数据的类型的转换上很灵活。 一般地,任何 GBase 数据类型都可以转换成一个 java.lang.String,且任 何数值类型都可以转换成 Java 的任意数值类型,虽然可能会发生近似,溢出或 精度损失。 GBase JDBC 驱动会像 JDBC 规范所要求的那样使用警告或抛出 DataTruncation 意外,除非通过使用"jdbcCompliantTruncation"属性并把它设 置为 false 来设置连接,让它不这么做。 在下表中列出了能可靠工作的转换: 表 4-1 GBase Server 数据类型与 Java 类型映射关系 GBase Server 数据类型 总是可以转化为的 Java 类型 CHAR, VARCHAR, BLOB, TEXT, LONGBLOB java.lang.String, java.io.InputStream, java.io.Reader, java.sql.Clob FLOAT, REAL, DOUBLE PRECISION, NUMERIC, DECIMAL, TINYINT, SMALLINT, MEDIUMINT, INTEGER, BIGINT java.math.BigDecimal 注意:与希望转换的 GBase 数据类型相 比,如果选择了精度较低的 Java 数值类 型,可能会出现舍入、溢出或精度损失 DATE, TIME, DATETIME, java.lang.String, java.sql.Date,

GBase Server 数据类型 总是可以转化为的 Java 类型 TIMESTAMP java.sql.Timestamp 在 GBase Server 类型和 Java 类型之间,ResultSet.getObject()方法采用 了下述类型转换方式,在可能的情况下遵从 JDBC 规范: 表 4-2 GBase Server 数据类型、JDBC 数据类型、Java 类映射关系 GBase Server 数据类型名 JDBC 数据类型(GetColumnType 方 法的返回值) 返回的 Java 类 TINYINT TINYINT java.lang.Boolea n 如 果 配 置 属 性 tinyInt1isBit 设 置 成 true ( 缺 省),且存储大小设 置为 1, 如果没有 上 述 设 置 为 java.lang.Intege r BOOL, BOOLEAN BIT java.lang.Boolea n SMALLINT[(M)] SMALLINT java.lang.Intege r MEDIUMINT[(M)] INTEGER java.lang.Intege r INT,INTEGER[(M)] INTEGER java.lang.Intege r BIGINT[(M)] INTEGER java.lang.Long REAL[(M,D)] DOUBLE Java.lang.Double FLOAT[(M,D)] REAL java.lang.Float DOUBLE[(M,B)] DOUBLE java.lang.Double DECIMAL[(M[,D])] DECIMAL java.math.BigDec imal

GBase Server 数据类型名 JDBC 数据类型(GetColumnType 方 法的返回值) 返回的 Java 类 NUMERIC[(M,D)] DECIMAL java.math.BigDec imal DATE DATE java.sql.Date DATETIME TIMESTAMP java.sql.Timesta mp TIMESTAMP[(M)] TIMESTAMP java.sql.Timesta mp TIME TIME java.sql.Time YEAR[(2|4)] DATE 如 果 yearIsDateType 配 置 属 性 设 置 为 false, 则返回对 象 类 型 为 java.sql.Short. 如果设置成 true (缺省值)则返回 java.sql.Date CHAR(M) CHAR java.lang.String (如果列字符集设 置为 BINARY,则返 回 byte[]) VARCHAR(M) [BINARY] VARCHAR java.lang.String (如果列字符集设 置为 BINARY,则返 回 byte[]) TINYBLOB VARBINARY byte[] TINYTEXT LONGVARCHAR java.lang.String TEXT LONGVARCHAR java.lang.String MEDIUMBLOB LONGVARBINARY byte[] MEDIUMTEXT LONGVARCHAR java.lang.String

GBase Server 数据类型名 JDBC 数据类型(GetColumnType 方 法的返回值) 返回的 Java 类 LONGBLOB LONGVARBINARY byte[] LONGTEXT LONGVARCHAR java.lang.String 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论