Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多数据库提供者支持_Java_Database_Eclipse - Fatal编程技术网

Java 多数据库提供者支持

Java 多数据库提供者支持,java,database,eclipse,Java,Database,Eclipse,我现在要做的是一个eclipse插件,它可以很好地与derby数据库配合使用,工作包括为这个应用程序添加多数据库支持(使用数据库配置向导) 我的问题是:为了实现这个项目和将来更好的可维护性,最好的设计模式是什么 有什么POC源代码我可以开始吗 任何想法都将受到高度赞赏。有点开放,但我会尝试一下 我更喜欢使用JNDI作为数据源。通过这种方式,容器维护数据源连接,您的应用程序只需使用一个简单的字符串来定义JNDI名称并从容器中获取连接 有几种方法可以做到这一点,我不确定您使用的是什么容器(像Tomc

我现在要做的是一个eclipse插件,它可以很好地与derby数据库配合使用,工作包括为这个应用程序添加多数据库支持(使用数据库配置向导)

我的问题是:为了实现这个项目和将来更好的可维护性,最好的设计模式是什么

有什么POC源代码我可以开始吗


任何想法都将受到高度赞赏。

有点开放,但我会尝试一下

我更喜欢使用JNDI作为数据源。通过这种方式,容器维护数据源连接,您的应用程序只需使用一个简单的字符串来定义JNDI名称并从容器中获取连接

有几种方法可以做到这一点,我不确定您使用的是什么容器(像Tomcat这样的servlet,或者像glassfish这样的EE),但它们都应该以某种方式支持它们


此外,您可能希望消除对Eclipse的依赖,以设置数据源连接,并依赖更具可移植性的东西,无论是Spring之类的框架,还是通过工厂类在代码中抽象数据源连接。

谢谢dardo,首先,我们的应用程序是一个Eclipse插件,因此根本没有容器。只需从二进制文件导入大量数据并加载到数据库中,然后直接使用数据库数据生成报告,。。。第二个重要的一点是,性能是我们应用程序中的一个大问题,所以我不喜欢使用ORMs。。。。显然,合适的方法是使用DAO(JDBC)和工厂模式。在这方面还有其他选择吗?再次非常感谢。啊,这是一个eclipse插件!对不起,我看错了。如果您想使用直接SQL,是的,JDBC是一种方式。只需确保您的DAO被注入到单独关注点的DB连接。另外,请记住,仅仅因为您使用JDBC生成报告,并不一定意味着它将比使用ORM更快,特别是考虑到您可以让ORM运行自定义SQL。非常感谢您的回答dardo!!你能不能更具体地解释一下“DAO被注入了DB连接”?对此很抱歉,但我没有抓住要点。基本上,您希望DAO对数据源是盲的。我的意思是,您的DAO不知道后端数据库是什么,它是如何获得到它的连接的,等等。它只知道它有到数据源的连接,并且它正在使用它进行查询。您希望这样做的原因是A)更容易测试(模拟数据源以测试您想要的内容),以及B)如果您以后更改数据源,它允许更容易的交换。在java世界中,这是通过JavaCDI(JSR330)实现的,Spring和GoogleGuice都实现了这个API。完美!!非常感谢!!