JDBC中遇到的ResultSetMetaData

本文探讨了如何不依赖POJO对象,直接使用JDBC从H2内存数据库迁移到Oracle数据库的方法。通过获取ResultSetMetaData来动态创建表结构,并实现数据的导入。


本以为JDBC里面的类和方法学的不错。但是在遇到一个,从内存数据库H2中把里面的数据都导入ORACLE数据库中。通过页面的单击按钮进行保存。在这个过程中犯了难。


原因如下,将H2中不确定的表导入oracle中对应的表。首先H2的表不确定导致了不可能每一个表都持久化,所以没有办法在程序里写一个POJO。就算有,H2中数据库表可能变化,如果一旦发生变化,那么POJO也要随之变化,导致程序的不稳定,所以在这个需求中必须要舍弃POJO,用最原始的JDBC的方式进行创建查找和插入。


在ResultSet中有个方法可以获取ResultSetMetaData

ResultSet rs;
ResultSetMetaData rsd = rs.getMetaData();//获取该数据。

在ResultSetMetaData有关于返回的ResultSet表信息以及列名字,以及列的类型。但是该类型由于不同数据库间不同所以导致要自己修改。获取了以上信息就可以拿来生成创建对应表和列,以及插入查找等动作了。


面向对象思想思考了太多,导致写这种过程化的程序的时候感觉很轻巧很便捷。


转载于:https://my.oschina.net/u/167671/blog/120859

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值