hibernate配置和JDBC連線池

2021-09-02 13:43:08 字數 2019 閱讀 9728

<?xml version='1.0' encoding='utf-8'?>

這是hiberante.cfg.xml的標頭檔案,固定形式,否則無法解析

配置資訊

jdbc配置專案

資料庫使用者名稱:sa

資料庫密碼:sa123!

連線字串:jdbc:jtds:sqlserver://localhost:1433/tjp_db

驅動類:net.sourceforge.jtds.jdbc.driver

資料庫方言:org.hibernate.dialect.sqlserverdialect

資料庫名稱:tjp_db

hibernate.session_factory_name

">tjp_db

常用配置

true

true

none

false

jdbc連線池

在tomcat中配置資料來源

位置:conf/content.xml

<?xml version='1.0' encoding='utf-8'?>

web-inf/web.xml

連線池

/**

* 獲取資料庫連線

* * @throws classnotfoundexception

* @throws sqlexception

*/public static connection getconnection() throws classnotfoundexception,

sqlexception catch (namingexception e)

return conn;

}

而我個人認為這兩者有不同的:

(1)資料來源是一種資料庫對程式設計提供的乙個介面,每個資料來源對應乙個資料庫。

(2)連線池只是存放資料庫連線物件的乙個緩衝池,需要資料連線的時候從緩衝池中取就行了。

(3)連線池可以管理資料來源。

用tcp來連線你的應用程式與資料庫是一件昂貴的事情(很費時的事情),開發者可以通過用連線池來反覆的使用資料庫的連線。比起每次請求都用tcp來連一次資料庫,連線池只有在不存在有效的連線時才新建乙個tcp連線。當關閉乙個連線的時候,它會被放到池中,它仍然會保持與資料庫的連線,這樣就可以減少與資料庫的tcp連線次數。

資料來源是指資料的**,比如資料庫。連線池是指這樣乙個「池子」,池子中的每個東西都是連線資料來源的乙個「連線」,這樣別人想連線資料來源的時候可以從這個「池子」裡取,用完以後再放回來供以後其他想使用的人使用。

我們一般說的資料來源指的就是資料庫~

資料來源是指資料的**的概括,包含了資料庫位置 和 資料庫型別等資訊,實際上是一種資料連線的抽象。

也可以說,你要得到的資訊存放的地方的概括(包括 存放資訊的資料庫型別、資料庫的位址等等資訊的概括)。

連線池是指這樣的乙個「池子」:

該池子中的每個東西都是連線資料來源的乙個「連線」,

這樣別人想連線資料來源的時候可以從這個「池子」裡取,

用完以後再放回來供以後其他想使用的人使用。

我們一般說的資料來源指的就是資料庫~

比較形象點的說,連線池就像資料來源的**人,

如我們需要連線(connection)直接找他(連線池)要就可以了,不需要找資料來源要;

不用的連線也是直接還給連線池~~

也就是有了連線池,我們沒必要直接找資料來源打交道了~

連線池在你的程式所在的機器記憶體,資料來源不一定~~

並且資料來源和連線池會保持一定數量的連線~

這樣我們訪問資料庫的時候就不需要找資料來源要連線,

直接在本地記憶體中取得連線,可以提高程式的效能~~

上說的都那麼抽象,讓我用我的自身理解方式說給你

每個連線好比水站的分水管,連線池好比水站,水站的源頭好比資料庫。

連線池可以控制分水管的數量等其他行為。

hibernate和spring整合配置二級快取

hibernate 二級快取配置 1.配置hbm.xml 在class節點下面新增 讀寫 或者 唯讀 如 2.配置spring檔案 開啟hibernate二級快取 hibernate.cache.use sencond levl cache true 設定快取載入類 hibernate.cache....

兩種資料來源連線的配置方式 jndi和jdbc

潤幹報表的資料來源配置是在reportconfig.xml中進行設定的,支援jndi資料來源配置和jdbc直連資料來源配置兩種。在讀取配置檔案的時候,會首先讀取jndi的配置,如果沒有相關的資料來源配置則會讀取jdbc直連配置的資料來源。1 jndi資料來源配置 即 在datasource中配置 此...

hibernate 常用配置

有些東西時間長了,經常想不起來 所以先記錄下來 1 hibernate.hbm2ddl.auto e.g.validat 執行前驗證表與實體是否一致 update 會話開始時,根據實體更新資料庫表 creat 會話開始時,重新建立資料庫的表 create drop 會話開始時候,建立資料庫中的表,關...