如何将ResultSet从服务器传递到客户端?

时间:2015-11-21 21:35:38

标签: java sql resultset jsonobject

我想将ResultSet从服务器传递到客户端,然后将所有值放在JTable中(它已经在客户端中)。我想使用JSonObject,但我不知道是否必须将其序列化才能发送,或者我必须直接将其发送给客户端。使用JSonObject或其他方式更好吗?

2 个答案:

答案 0 :(得分:1)

Sending an object over a TCP connection is possible (and fairly easy).但是,所述对象必须是implements Serializable. ResultSet is an interface and does not extend Serializable.

的类的实例

如果ResultSet扩展了Serializable(以及为什么它没有在第二个链接中显示),那么它可以通过ObjectOutputStream.发送如果它是一个类而不是一个接口,它可以被扩展(假设它不是最​​终类,并且它至少有一个非私有构造函数),然后扩展可以实现Serializable.同样,情况并非如此。

因此,您必须从服务器上的ResultSet读取值,然后发送它们,而不是发送ResultSet本身。

答案 1 :(得分:0)

你永远不应该将ResultSet返回给客户端,客户端不应该知道在服务器上进行了什么样的处理(这种情况我们可以知道某种类型的DB操作已经完成,抽象点丢失了)。更好的方法是将ResultSet转换为集合并将集合(例如ArrayList)返回给客户端。