1. 程式人生 > >資料庫的連線池的原理與Hibernate的內建連線池及C3P0的配置

資料庫的連線池的原理與Hibernate的內建連線池及C3P0的配置

<hibernate-configuration>
<session-factory>
DB連線四要素
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://192.168.40.115:3306/test</property>
<property name="hibernate.connection.username">Leizedeng</property>
<property name="hibernate.connection.password">123456</property>

指定方言,在hibernate-core-5.0.0.Final.jar中的dialect結尾的--》MYSQL5Dialect的全名路徑
<property name="hibernate.dialect">MYSQL5Dialect的全名</property>

資料來源:資料庫連線池C3P0  連線配置
    假如沒有配置連線池,會使用hibernate自帶的連線池,但在做專案,不要使用
    <property name="(連線提供者)hibernate.connection.provider_class">
hibernate-c3p0.Final.jar中找C3p0ConnectionProvide的全名路徑
</property>


上下文
<property name="hibernate.current_session_context_class">
thread(可以保證在同一執行緒可以獲取到的是同一個session)
</property>

<property name="hibernate.current_session_context_class">
jta(以後做分散式系統用的,不用管)
</property>

<property name="hibernate.current_session_context_class">
spring(以後整合時用的,不用管)
</property>

自動建表              ddl(建立) dml(操作語言)dql(查詢語言)
<property name="hibernate.hbm2ddl.auto">
create(每執行一次,把舊錶刪除,建新表)或者update(沒有表,就建一個,有表的話,就會更新資料,一使用)
</property>
除錯的時候:顯示sql:自動把api封裝的轉換成sql顯示出來
<property name="hibernate.show_sql">
true
</property>
顯示sql的時候都在一行,不利於檢視所以格式化一下
<property name="hibernate.format_sql">
true
</property>

註冊對映檔案
<mapping resource="對映檔案的hbm.xml的路徑"/>
</session-factory>
</hibernate-configuration>