数据类型转换
在调用虚谷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表示范围内数据可正确存入,范围外数据将插入失败。