Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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 在swing项目中使用数据库_Java_Database_Swing_Jdbc - Fatal编程技术网

Java 在swing项目中使用数据库

Java 在swing项目中使用数据库,java,database,swing,jdbc,Java,Database,Swing,Jdbc,我必须开发一个Swing项目。我需要访问不同地方的数据库。那么,我应该如何安排类,以便有一个数据库类。我应该为此使用继承吗。只是一个简短的提纲。我是一名java(struts/spring/hibernate)开发人员,但这将是我的第一个Swing应用程序。继承?不,你应该用构图。对于Swing应用程序和非Swing应用程序来说,访问数据库没有什么不同,但需要注意以下几点: 在主Swing事件线程或事件分派线程(EDT)之外执行所有数据库访问 在EDT上执行大多数Swing调用 如果数据将动态

我必须开发一个Swing项目。我需要访问不同地方的数据库。那么,我应该如何安排类,以便有一个数据库类。我应该为此使用继承吗。只是一个简短的提纲。我是一名java(struts/spring/hibernate)开发人员,但这将是我的第一个Swing应用程序。

继承?不,你应该用构图。对于Swing应用程序和非Swing应用程序来说,访问数据库没有什么不同,但需要注意以下几点:

  • 在主Swing事件线程或事件分派线程(EDT)之外执行所有数据库访问
  • 在EDT上执行大多数Swing调用
  • 如果数据将动态更改,则需要了解侦听数据更改并将数据绑定到显示器的方法
    • 一些想法:

      • 我认为您应该在应用程序中使用ORM(比如OrmLite)

      • 为数据访问层创建一个包含接口或抽象类的包

      • 创建另一个包,在其中实现(数据访问层的)接口和抽象类(这些实现应包含对数据库的所有直接命令)

      • 创建另一个包,您将在其中拥有您的业务层。这个包中的类的方法应该通过接口使用数据访问层,并将它们组合起来以解决任何业务逻辑级别的问题

      • 您应该从应用程序的后端部分直接访问业务层类,后端部分应该尽可能与用户界面分离


      您将在数据库类中添加什么内容?你在使用JDBC吗?@cacho ya JDBC在mssql上。1+我希望我能把我对这个问题的所有投票转移到你的答案上。非常好。我也对你的答案投了赞成票,我相信它对很多人都有用。