我正在尝试在java中创建一个应用程序,它从数据库中提取记录并将其映射到对象。它不知道数据库的模式是什么样的。我想要做的就是从所有表中获取所有行并将它们存储在某个地方。可能有一千个表,每个表有数千条记录。应用程序不知道任何表或属性的名称。它应该“动态”映射。我看了一下hibernate,但它并没有给我这个应用程序我想要的东西。我不想创建用于映射的硬编码的xml文件和类。任何想法我怎么能做到这一点? 感谢
答案 0 :(得分:1)
Oracle为元数据提供了大量数据字典视图。
ALL_TABLES,ALL_TAB_COLUMNS将是第一个开始的地方。然后,您将根据您从那里获得的内容构建即席查询。不确定是否必须处理所有数据类型(日期,blob,空间,用户定义....)。
不确定你的意思是“将它们存放在某个地方”。如果您开始考虑CSV或XML文件,则需要从VARCHAR2列中转义各种字符。
如果您正在寻找一些通用的提取/卸载例程,您应该查看数据库或开源/商业中已有的内容。
答案 1 :(得分:0)
MyBatis提供了一种非常简单的方法来将数据结果映射到对象并返回,也许可以检查出来吗?
答案 2 :(得分:-1)
不要翻转,但是对于这项任务,您可能想要查看Ruby on Rails及其ActiveRecord方法