如何通过结果集检索的套接字接收数据?

时间:2012-04-17 14:41:38

标签: java sockets resultset

Statement st=(Statement) sqlcon.createStatement();
ResultSet p=st.executeQuery("SELECT * FROM `chat`.`online_users`");

我通过ResultSet的对象从数据库获取数据,但是当我通过套接字将其发送到客户端时,它给出了一个错误。它不可序列化。如何通过套接字发送数据并通过ResultSet接收检索的数据?

3 个答案:

答案 0 :(得分:2)

阅读ResultSet中的数据,将其推送到List,然后发送您的List。所有类似ArrayList的实现都已实现Serializable接口,您可以阅读this answer以了解有关列表序列化的更多信息。

答案 1 :(得分:1)

好吧,您可以从ResultSet继承并在新类中实现Serializable接口。 我建议更好的方法是在层之间发送XML,或者如果你想要一个全Java解决方案,如何为每一行创建一个对象,将它们填充到一个集合类或向量中,并将它序列化而不是ResultSet类。

答案 2 :(得分:1)

由于它需要可序列化并通过网络连接发送,CachedRowSet似乎是您尝试的好选择。