有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java静态类代替Oracle表如何

我有一个奇怪的问题

我们的软件架构师要求我们删除一个oracle表,并用一个静态Java类替换它。这是出于性能原因,因为该表每5年触摸1或2次

我一生中从来没有做过这样的事情,所以witch是用Java来表示一个包含很多行的oracle表的最好和优雅的方法吗


共 (1) 个答案

  1. # 1 楼答案

    我将省略通常关于为什么的讨论,我完全同意你的观点,因为这种设计至少是有问题的

    然而,对于问题本身,我将尝试提出一个简单的建议,而不知道您的确切要求:您可能能够创建一个单例映射,并使用select语句“生成”put语句,然后将结果复制并粘贴到您准备的类中

    比如:

    public class TableReplacement {
       private static Map<String, String> map = new HashMap<>();
    
       static { 
         //put statements go here
       }
    
       ... //code needed to access the map
    }
    

    接下来你要发表这样的声明:

    SELECT 'map.put("' || keyColumn || '","' || valueColumn || '");' FROM table;
    

    这将产生如下结果:

    map.put("key1","value1");
    map.put("key2","value2");
    ...
    

    然后将结果复制并传递到枚举:

    public class TableReplacement {
       private static Map<String, String> map;
    
       static { 
         map.put("key1","value1");
         map.put("key2","value2");
         ...
       }
    
       ... //code needed to access the map
    }
    

    请注意,这将是一个将表“转换”为静态代码的快速而肮脏的解决方案,但这显然是有问题的

    如何定义映射和访问值的代码取决于您的具体需求