JAVA Swing客户端,对远程数据库的数据访问;伊巴提斯

我有一个需要访问远程数据库的Java客户端.目的是向用户隐藏数据库凭据,而不是对代码中的任何凭据进行硬编码.因此,数据库访问可能必须在服务器端.

我被限制使用Ibatis作为数据抽象框架.除此之外,我还在Web服务器上运行了JBoss,使我可以使用数据源.

您将如何设计远程数据库访问和数据序列化/反序列化.您是否希望在套接字上使用某种数据流的Web服务?您将如何实现这两者?

最佳答案
构建服务层并通过RMI公开它-可能像拥有JBoss一样作为EJB3无状态会话Bean,也可能作为纯RMI.除非您有特定需求,否则我不会理会Web服务. RMI将为您处理序列化的情况.

您的服务层需要公开一种方法,以使用在Swing应用程序启动时输入的凭据来对用户进行身份验证.所有对数据的调用都要经过服务层. Swing应用程序中不存在SQL.

除了隐藏数据库凭据之外,此安排还有其他好处.您不仅会获得分层的体系结构,而且通过在服务器上只有一个数据源,可以在所有客户端之间共享准备好的语句而提高效率.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...