Skip to content

数据类型转换

在调用虚谷JDBC驱动中的某些方法时,需进行Java数据类型与虚谷数据库数据类型的转换,这些方法包括:

  • ResultSet 类 get<Type>方法
  • ResultSet 类 update<Type>方法
  • CallableStatement 类 get<Type>方法
  • PreparedStatement 类 set<Type>方法

注意:

数据类型之间的转换,需遵从Java数据类型与虚谷数据库数据类型映射关系规则,否则可能转换失败。

  • com.xugu.cloudjdbc.ResultSet类中get<Type> 方法的类型转换,如图1所示。


    说明:

    • X(无丢失转换):指以长精度类型的get<Type>方法获取短精度数据类型列值无丢失。 如:使用 getInt() 方法获取数据库数据类型为smallint的列数据,获取数据完整。
    • Z(依赖转换):指get<Type>方法中的Type类型与获取数据库中列的数据类型不一致,此时需要通过其他数据类型转换为 Type 数据类型,此转换过程值可能丢失部分数据。 如:使用getInt()方法获取数据库数据类型为float的列数据,可获取float列数据的整数值,而小数精度值将丢失。
    • Y(直接转换):指 get<Type>方法中的Type类型与获取数据库中列的数据类型一致。 如:使用getInt()方法获取数据库数据类型为integer的列数据,直接获取完整数据。
  • com.xugu.cloudjdbc.PreparedStatement类中set<Type>方法的类型转换,如图2所示。


    说明:

    • P(允许插入):指 set<Type> 方法设置数据库中列数据时,数据无损失存入数据库中。 如:使用 setInt() 方法设置列数据类型为 bigint 的数据时,数据可正确存入。
    • Z(部分插入):指 set<Type> 方法中的 Type 类型和数据库中列数据类型不一致,数据仅能部分正确存入。 如:使用 setInt() 方法设置数据库列类型为 tinyint 的数据,因 tinyint 表示范围为-128~127 的整数值,故而 tinyint表示范围内数据可正确存入,范围外数据将插入失败。