圖表插件FineReport教程:[3]JDBC連接數據庫?

製作報表前首先需要定義數據來源,實際用戶系統最長見的就是數據保存在數據庫中,並且在不斷更新中,使用數據庫數據來製作報表,並且報表內容會隨著數據庫的更新而更新。

FR天然支持這一點,只需要在服務器>定義數據連接中定義需要連接的數據庫,就可以自定義查詢語句查詢出需要的數據,從而製作報表,如下圖:

數據連接存儲在工程中,當用戶執行需要訪問數據庫的操作時這些連接被激活。

一個報表工程可以定義多個數據庫連接,所有信息都保存在appName/WEB-INF/resources/datasource.xml配置文件中。

可以通過JDBC、JNDI、SAP、XMLA和FineBI五種方式連接數據庫,當報表執行時需要訪問數據庫時這些連接才會被激活。

注:XMLA和FineBI連接的是多維數據庫,其中FineBI是連接帆軟的另一款BI產品的數據庫。

圖表插件FineReport教程:[3]JDBC連接數據庫

工具/原料

圖表插件:FineReport

電腦

方法/步驟

JDBC連接與JNDI連接的區別

JDBC連接數據庫

JDBC(Java Data Base Connectivity,Java數據庫連接)是一種用於執行SQL語句的Java API,可以為多種關係數據庫提供統一訪問,下面介紹JDBC連接數據庫的方法。

JNDI連接數據庫

JNDI(Java Naming and Directory Interface)是一個應用程序設計的API,為開發人員提供了查找和訪問各種命名和目錄服務的通用、統一的接口,類似JDBC都是構建在抽象層上。

JDBC 和JNDI連接數據庫哪個更有優勢

使用JNDI連接某個數據源,如名為test,該數據源的所連接的數據庫都在應用服務器端定義。因此JNDI連接數據源不需要關心具體的數據庫後臺是什麼?JDBC驅動程序是什麼?JDBC URL格式是什麼?訪問數據庫的用戶名和口令是什麼?甚至沒有數據庫連接池或連接管理。而是把這些問題交給J2EE容器來配置和管理,只需要對這些配置和管理進行引用即可。

在報表部署後,如果數據庫的相關參數變更,只需要重新修改配置文件中的JDBC參數,只要保證數據源的名稱不變,那麼數據連接就無需修改。由此可見,JNDI避免了報表與數據庫之間的緊耦合,和項目共用服務器的連接池,使應用更加易於配置、易於部署。

JDBC就是直接連接物理數據庫,連接數據庫比較快,但在程序中使用的話就比較煩瑣,每次連接都要有一定的編碼,和數據庫的連接需要手動關閉。

索引:

JDBC連接數據庫

JNDI連接數據庫

SAP連接數據庫

XMLA數據連接

FineBI數據連接

教程, 插件, 數據庫, 報表, 圖表,
相關問題答案