使用RMI結合JDBC實現遠程數據存儲
RMI是java進行分布式開發的一種常見的解決方案。今天跟大家聊一聊遠程數據存儲,使用RMI可以完成自定義對象的網絡傳遞,那么自然使用RMI結合JDBC就可以完成遠程的數據存儲。這篇文章就跟頭條的網友分析一下如何使用RMI結合JDBC完成遠程數據存儲任務。
為了演示開發流程,我們設計一個小的任務:把一個學生對象通過RMI完成傳遞,在服務端把接收到的學生對象存儲到數據庫中。通過這個任務可以舉一反三,完成其他的數據庫操作。
***步創建數據庫表格student,表設計為三列:id、name、age,分別代表學生的學號、姓名和年齡,為了演示的清晰性,就不定義更多的列,如圖:
第二步定義Student類,由于為了演示遠程數據存儲,所以并不需要在Student類中定義業務方法,當然定義業務方法也并不影響程序的結果。Student類如下所示:
注意Student類實現了Serializable接口,此接口位于java.io包中,主要解決的是對象序列化的問題。RMI要通過網絡傳遞對象,需要被傳遞對象時可序列化對象,所以要求自定義類要實現Serializable接口,以聲明其可序列化。
第三步定義RMI接口,此接口只定義一個方法,即完成數據遠程存儲的方法。RMI接口如下所示:
第四步定義RMI服務類,此類完成數據的存儲任務。如圖:
第五步完成測試類調用,創建一個學生對象并完成遠程存儲。代碼及運行的結果如下:
例子中只演示了如何使用存儲服務,并沒有實現查詢、修改和刪除操作。如果大家想完成其他操作,可以自己動手試一下。
本例中使用RMI完成了簡單的數據存儲,下一步需要對這個流程進行模塊化改造。模塊化改造的***個工作就是把數據庫操作采用DAO模式進行重寫,由于我在頭條上已經寫了如何創建java的DAO操作流程,所以這里就不再累述了,頭條的網友可以關注我并到我的回答欄目中查找對應的文章。時間倉促,難免有紕漏,懇請大家多多指正。