栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

兼容国产化神通数据库遇到的问题适配

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

兼容国产化神通数据库遇到的问题适配

问题一

com.oscar.sql.Timestamp cannot be cast to java.time.LocalDateTime
环境:
神通数据库是通过Timestamp 存储的时间,但是查询的时候实体类是通过LocalDateTime接受的,业务中抛出异常。

解决:
由于实体这个类型的字段使用比较多,我们无法不想修改业务代码去兼容,求助神通官方,官方给了一个JDBC的工具包,使用这个工具包就解决了无法转换问题。
本来使用的数据库安装包中的oscarJDBC16.jar,后来官方说这个不是最新的,就给了我一个oscarJDBC.jar,我会放到资源中,提供下载。

问题二、

Char类型数据迁移到神通数据库中,数据会被自动补充空格到限定长度。

解决有三种方式:
(1)把库中的Char类型转为VarChar之后再重新迁移
(2)在神通库中将补充的空格通过SQL删除
(3)业务层,做数据使用时候过滤空格。
我选用的第一种,因为涉及的Char字段比较多。

问题三、

在连表查询的时候,不同表中出现相同的属性名称,内层字段的属性被外层属性覆盖。

环境:
我们使用的mybatis做的sql查询,在使用MYsql数据库时候正常,但是神通数据出现问题。

解决:
通过mybatis使用resultMap映射,首先在SQL中将内层属性起别名,外层不处理。然后在ResultMap中,将别名映射成实体属性。

问题四、

查询语句中出现双印号报错。

环境:神通的特性和oracle接近,字符串用单引号,用双引号会解析成字段名,所以在SQl中会报错没有这个字段。

解决:改为单引号。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号