淺談JEECG多數據源的使用


首先,簡單的介紹下什么是JEECG。JEECG(J2EECode Generation)是一款基於代碼生成器的免費開源的快速開發平台,使用JEECG可以簡單快速地開發出企業級的Web應用系統。JEECG提倡簡單功能由代碼生成器直接生成,復雜業務采用表單自定義,業務流程使用工作流來實現、擴展出任務接口,由開發者編寫特殊業務邏輯。

下面我們重點講解下JEECG3.5GA版本多數據源的使用。在使用多數據源之前我們有必要了解什么是多數據源?為什么我們需要使用多數據源呢?多數據源是指同一個系統中處理的數據來自不同的數據源。比如我們在用ETL做數據同步、清洗和整合的時候經常要配置源庫、整合庫、清洗庫、目標庫等,如此多的數據源,我們需要采用靈活的機制配置,保證數據源間的自由切換。JEECG3.5提供了多數據源的功能,JEECG多數據源的設計直接利用了Springjdbc連接,跟Hibernate、Mybatis等持久化框架無關,就跟我們采用最原始的JDBC連接一樣,簡單方便。JEECG數據庫中t_s_data_source表用來存放動態的數據源,系統在啟動時通過org.jeecgframework.web.system.listener.InitListener把t_s_data_source表中的所有動態數據源信息配置到靜態的Map中,其中t_s_data_source.db_key字段作為Map的key,以t_s_data_source的實體類作為value。

下面簡單介紹下如何在JEECG3.5GA中使用多數據源。

1.配置多數據源管理菜單並分配權限。

(1) 配置多數據源管理菜單。

找到DynamicDataSourceController數據源配置控制類,可以方便的看出數據源配置的url是dynamicDataSourceController.do?dbSource。

進入“系統管理”à“菜單管理”,單擊“菜單錄入”,錄入菜單信息如下:

 

其中菜單地址為:dynamicDataSourceController.do?dbSource,單擊“確定”按鈕,保存菜單信息。

(2)為角色分配菜單權限。

進入“系統管理”à“角色管理”,單擊“角色列表”下的【權限設置】,加載“菜單列表”,勾選“多數據源管理”前面的復選框,單擊“菜單列表”旁邊的保存圖標進行保存角色菜單權限。

 

(3)退出系統重新登錄。可以看到“系統管理”中增加“多數據源管理”菜單。

2、錄入數據源信息。

(1)進入“系統管理”à“多數據源管理”,進入如下頁面。

 


(2)單擊“錄入”,錄入數據源信息,並保存。

 

說明:每次新增或者編輯數據源的時候,系統都會動態刷新緩存中的數據源信息。

1. 動態使用多數據源。

具體各個方法使用請查看org.jeecgframework.core.util.DynamicDBUtil工具類。重點關注下面三個方法:

 

public static List<Map<String, Object>> findList(final String dbKey, String sql, Object... param);

public static Object findOne(finalString dbKey, String sql, Object... param);

public static int update(finalString dbKey, String sql, Object... param);

創建Service實現類,同時在頁面必須上傳要調用數據源的dbKey.

 

/**

* 動態數據源測試

@param dbKey 數據源KEY

@return

*/

public List<Map<String,Object>> queryDynamicDB(String dbKey){

final String sql = "select * from tbl_sys_user";

List<Map<String,Object>> userList = DynamicDBUtil.findList(dbKey, sql, null);

return userList;

}

 

 

以上就是對JEECG3.5GA多數據源使用的簡單分析,通過以上分析我們知道JEECG把數據源存放在數據庫里,方便靈活的管理和維護數據源,同時采用SpringJdbc進行多數據源的處理,簡單直接,同時效率較高。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM