0
我們的代碼使用MySQL DB。什麼是最好的方法,使代碼可重複使用db - mysql和db2
現在我們的要求是將DB從Mysql遷移到DB2。 並且還使得兼容db2和mysql的java代碼。
我們使用SPring MVC和mybatis,JPA for DB work。
請向我建議什麼是更好的設計模式。
如何讓mybatis的代碼兼容mysql和db2?
謝謝,
我們的代碼使用MySQL DB。什麼是最好的方法,使代碼可重複使用db - mysql和db2
現在我們的要求是將DB從Mysql遷移到DB2。 並且還使得兼容db2和mysql的java代碼。
我們使用SPring MVC和mybatis,JPA for DB work。
請向我建議什麼是更好的設計模式。
如何讓mybatis的代碼兼容mysql和db2?
謝謝,
我建議你有一個單獨的數據層。
讓此數據層聲明您的業務邏輯使用的公共接口和數據類型。
然後,您可以使用工廠模式創建實際的數據層實例,該工廠模式創建用於連接到MySQL或DB2的具體類。通過這樣做,您可以更改數據庫而無需更改業務代碼(因爲它全部指的是接口類型)。你甚至可以將其設置爲在運行時執行此操作,比如基於配置設置。
例如
IDataLayer是您的基類,具有獲取/設置數據的方法(將內置的數據庫處理隱藏起來)。
然後有MySQLDataLayer和DB2DataLayer子類。
只有業務邏輯是指IDataLayer,而不是MySQLDataLayer/DB2DataLayer類。