Hibernate连接数据库
生活随笔
收集整理的這篇文章主要介紹了
Hibernate连接数据库
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2.4 通過Hibernate連接數(shù)據(jù)庫
Hibernate能夠訪問多種關(guān)系數(shù)據(jù)庫,如SQL Server、MySQL、Oracle和Access等。在訪問這些數(shù)據(jù)庫時(shí),只需要在Hibernate的配置文件中指定正確的連接屬性值。下面將給出通過Hibernate連接幾種常用數(shù)據(jù)庫的Hibernate配置文件。
2.4.1 連接SQL Server 2000數(shù)據(jù)庫的Hibernate配置文件
連接SQL Server 2000的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面將分別給出這兩種格式的配置文件的代碼。
1.xml格式的配置文件
下面將給出連接本地SQL Server服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.cfg.xml的代碼。
例程2-1:光盤\mr\02\sl\01\hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!--SessionFactory配置-->
<session-factory>
<!--指定數(shù)據(jù)庫使用的SQL方言-->
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<!--指定連接數(shù)據(jù)庫用的驅(qū)動(dòng)-->
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<!--指定連接數(shù)據(jù)庫的路徑-->
<property name="connection.url">
jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=db_database02
</property>
<!--指定連接數(shù)據(jù)庫的用戶名-->
<property name="connection.username">sa</property>
<!--指定連接數(shù)據(jù)庫的密碼-->
<property name="connection.password"></property>
<!--當(dāng)show_sql屬性為true時(shí),表示當(dāng)程序運(yùn)行時(shí)在控制臺(tái)輸出SQL語句,默認(rèn)為false-->
<property name="show_sql">true</property>
<!--指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句-->
<property name="format_sql">true</property>
<!--指定是否在SQL語句中輸出便于調(diào)試的注釋信息-->
<property name="use_sql_comments">true</property>
<!--指定持久化類映射文件-->
<mapping resource="com/BranchForm.hbm.xml"/>
</session-factory>
</hibernate-configuration>
在上面的代碼中,“127.0.0.1”代表本地SQL Server服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的SQL Server服務(wù)器的IP地址,也可以是服務(wù)器名(如wgh);“db_database02”為要連接的數(shù)據(jù)庫名稱;“sa”為連接SQL Server服務(wù)器的登錄用戶;“<property name="connection.password"></property>”表示連接SQL Server服務(wù)器的登錄密碼為空,如果不為空,只需在“>”和“<”之間加入密碼即可;“BranchForm.hbm.xml”為持久化類對(duì)應(yīng)的映射文件名稱。
2.Java屬性文件格式的配置文件
下面將給出連接本地SQL Server服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.properties的代碼。
例程2-2:光盤\mr\02\sl\02\hibernate.properties
#指定連接數(shù)據(jù)庫使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#指定連接數(shù)據(jù)庫的驅(qū)動(dòng)程序#
hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver
#指定連接數(shù)據(jù)庫的URL#
hibernate.connection.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=db_database02
#指定連接數(shù)據(jù)庫的用戶名#
hibernate.connection.username=sa
#指定連接數(shù)據(jù)庫的密碼#
hibernate.connection.password=
#指定在執(zhí)行程序時(shí),是否在控制臺(tái)上輸出SQL語句#
hibernate.show_sql=true
#-指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句#
hibernate.format_sql=true
#指定是否在SQL語句中輸出便于調(diào)試的注釋信息#
hibernate.use_sql_comments=true
在上面的代碼中,“127.0.0.1”代表本地SQL Server服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的SQL Server服務(wù)器的IP地址,也可以是服務(wù)器名(如wgh);“db_database02”為要連接的數(shù)據(jù)庫名稱;“sa”為連接SQL Server服務(wù)器的登錄用戶;“hibernate.connection.password=”表示連接SQL Server服務(wù)器的登錄密碼為空,如果不為空,只需在等號(hào)“=”后面加上密碼即可。
2.4.2 連接MySQL數(shù)據(jù)庫的Hibernate配置文件
連接MySQL的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面將分別給出這兩種格式的配置文件的代碼。
1.xml格式的配置文件
下面將給出連接本地MySQL服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.cfg.xml的代碼。
例程2-3:光盤\mr\02\sl\03\hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class"><!--指定連接數(shù)據(jù)庫用的驅(qū)動(dòng)-->
com.mysql.jdbc.Driver
</property>
<property name="connection.url"><!--指定連接數(shù)據(jù)庫的路徑-->
jdbc:mysql://localhost:3306/db_database02
</property>
<property name="connection.username">root</property><!--指定連接數(shù)據(jù)庫的用戶名-->
<property name="connection.password">111</property><!--指定連接數(shù)據(jù)庫的密碼-->
<!--指定數(shù)據(jù)庫使用的SQL方言-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--指定一個(gè)Transaction實(shí)例工廠類-->
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<!--當(dāng)show_sql屬性為true時(shí)表示在程序運(yùn)行時(shí)在控制臺(tái)輸出SQL語句,默認(rèn)為false,建議在調(diào)試程序時(shí)設(shè)為true,發(fā)布程序之前再改為false,因?yàn)檩敵鯯QL語句會(huì)影響程序的運(yùn)行速度-->
<property name="show_sql">true</property>
<!--指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句-->
<property name="format_sql">true</property>
<!--指定是否在SQL語句中輸出便于調(diào)試的注釋信息-->
<property name="use_sql_comments">true</property>
<mapping resource="UserForm.hbm.xml"/><!--指定持久化類映射文件-->
</session-factory>
</hibernate-configuration>
在上面的代碼中,“l(fā)ocalhost”代表本地MySQL服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的MySQL服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“root”為登錄用戶名;“111”表示用戶密碼;“org.hibernate.transaction.JDBCTransactionFactory”表示采用JDBC的事務(wù)處理機(jī)制;“UserForm.hbm.xml”為持久化類對(duì)應(yīng)的映射文件名稱。
2.Java屬性文件格式的配置文件
下面將給出連接本地MySQL服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.properties的代碼。
例程2-4:光盤\mr\02\sl\04\hibernate.properties
#指定連接數(shù)據(jù)庫使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#指定連接數(shù)據(jù)庫的驅(qū)動(dòng)程序#
hibernate.connection.driver_class=com.mysql.jdbc.Driver
#指定連接數(shù)據(jù)庫的URL#
hibernate.connection.url=jdbc:mysql://localhost:3306/db_database02
#指定連接數(shù)據(jù)庫的用戶名#
hibernate.connection.username=root
#指定連接數(shù)據(jù)庫的密碼#
hibernate.connection.password=111
#指定一個(gè)Transaction實(shí)例工廠類#
hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
#指定在執(zhí)行程序時(shí),是否在控制臺(tái)上輸出SQL語句#
hibernate.show_sql=true
#-指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句#
hibernate.format_sql=true
#指定是否在SQL語句中輸出便于調(diào)試的注釋信息#
hibernate.use_sql_comments=true
在上面的代碼中,“l(fā)ocalhost”代表本地MySQL服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的MySQL服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“root”為登錄用戶名;“111”表示用戶密碼;“org.hibernate.transaction.JDBCTransactionFactory”表示采用JDBC的事務(wù)處理機(jī)制。
2.4.3 連接Oracle數(shù)據(jù)庫的Hibernate配置文件
連接Oracle的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面分別給出這兩種格式配置文件的代碼。
1.xml格式的配置文件
下面將給出連接本地Oracle服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.cfg.xml的代碼。
例程2-5:光盤\mr\02\sl\05\hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--指定連接數(shù)據(jù)庫用的驅(qū)動(dòng)-->
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<!--指定連接數(shù)據(jù)庫的路徑-->
<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:db_database02
</property>
<!--指定連接數(shù)據(jù)庫的用戶名-->
<property name="connection.username">SYSTEM</property>
<property name="connection.password">SYSTEM</property><!--指定連接數(shù)據(jù)庫的密碼-->
<!--指定數(shù)據(jù)庫使用的SQL方言-->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!--當(dāng)show_sql屬性為true時(shí)表示在程序運(yùn)行時(shí)在控制臺(tái)輸出SQL語句,默認(rèn)為false,建議在調(diào)試程序時(shí)設(shè)為true,發(fā)布程序之前再改為false,因?yàn)檩敵鯯QL語句會(huì)影響程序的運(yùn)行速度-->
<property name="show_sql">true</property>
<mapping resource="UserForm.hbm.xml"/><!--指定持久化類映射文件-->
</session-factory>
</hibernate-configuration>
在上面的代碼中,“l(fā)ocalhost”代表本地Oracle服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的Oracle服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“SYSTEM”為登錄用戶名;“SYSTEM”表示用戶密碼;“UserForm.hbm.xml”為持久化類對(duì)應(yīng)的映射文件名稱。
2.Java屬性文件格式的配置文件
下面將給出連接本地Oracle服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.properties的代碼。
例程2-6:光盤\mr\02\sl\06\hibernate.properties
#指定連接數(shù)據(jù)庫使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#指定連接數(shù)據(jù)庫的驅(qū)動(dòng)程序#
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
#指定連接數(shù)據(jù)庫的URL#
hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:db_database02
#指定連接數(shù)據(jù)庫的用戶名#
hibernate.connection.username=SYSTEM
#指定連接數(shù)據(jù)庫的密碼#
hibernate.connection.password=SYSTEM
#指定在執(zhí)行程序時(shí),是否在控制臺(tái)上輸出SQL語句#
hibernate.show_sql=true
在上面的代碼中,“l(fā)ocalhost”代表本地Oracle服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的Oracle服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“SYSTEM”為登錄用戶名;“SYSTEM”表示用戶密碼。
說明:在Hibernate包的etc目錄下附帶了一個(gè)用于連接各種關(guān)系數(shù)據(jù)庫配置代碼的hibernate.properties文件,讀者可以根據(jù)該文件寫出連接其他數(shù)據(jù)庫的配置文件。
1433是SQLserver默認(rèn)的端口號(hào),如果要連接到其他機(jī)器上,要將localhost改為其他機(jī)器的IP地址,如192.168.0.101。
其中數(shù)據(jù)庫名是你所新建的數(shù)據(jù)庫的名稱,用戶名和密碼是你登陸SQLserver是的用戶名和密碼。
有的人安裝SQLserver時(shí)用的是Windows身份驗(yàn)證,那么用戶名和密碼都為空。如果不能登陸,或者要用SQL身份驗(yàn)證的話,需要修改注冊(cè)表。在運(yùn)行里打開regedit,然后查找loginmode(具體位置:hkey_local_machine\software\microsoft\MSSQLserver\
mssqlserver\),僅用Windows身份驗(yàn)證的值為1,混合身份驗(yàn)證的值為2。只要將1改為2,就可以用SQL身份驗(yàn)證了,用戶名為‘sa',密碼為空。 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
Hibernate能夠訪問多種關(guān)系數(shù)據(jù)庫,如SQL Server、MySQL、Oracle和Access等。在訪問這些數(shù)據(jù)庫時(shí),只需要在Hibernate的配置文件中指定正確的連接屬性值。下面將給出通過Hibernate連接幾種常用數(shù)據(jù)庫的Hibernate配置文件。
2.4.1 連接SQL Server 2000數(shù)據(jù)庫的Hibernate配置文件
連接SQL Server 2000的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面將分別給出這兩種格式的配置文件的代碼。
1.xml格式的配置文件
下面將給出連接本地SQL Server服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.cfg.xml的代碼。
例程2-1:光盤\mr\02\sl\01\hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!--SessionFactory配置-->
<session-factory>
<!--指定數(shù)據(jù)庫使用的SQL方言-->
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<!--指定連接數(shù)據(jù)庫用的驅(qū)動(dòng)-->
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<!--指定連接數(shù)據(jù)庫的路徑-->
<property name="connection.url">
jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=db_database02
</property>
<!--指定連接數(shù)據(jù)庫的用戶名-->
<property name="connection.username">sa</property>
<!--指定連接數(shù)據(jù)庫的密碼-->
<property name="connection.password"></property>
<!--當(dāng)show_sql屬性為true時(shí),表示當(dāng)程序運(yùn)行時(shí)在控制臺(tái)輸出SQL語句,默認(rèn)為false-->
<property name="show_sql">true</property>
<!--指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句-->
<property name="format_sql">true</property>
<!--指定是否在SQL語句中輸出便于調(diào)試的注釋信息-->
<property name="use_sql_comments">true</property>
<!--指定持久化類映射文件-->
<mapping resource="com/BranchForm.hbm.xml"/>
</session-factory>
</hibernate-configuration>
在上面的代碼中,“127.0.0.1”代表本地SQL Server服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的SQL Server服務(wù)器的IP地址,也可以是服務(wù)器名(如wgh);“db_database02”為要連接的數(shù)據(jù)庫名稱;“sa”為連接SQL Server服務(wù)器的登錄用戶;“<property name="connection.password"></property>”表示連接SQL Server服務(wù)器的登錄密碼為空,如果不為空,只需在“>”和“<”之間加入密碼即可;“BranchForm.hbm.xml”為持久化類對(duì)應(yīng)的映射文件名稱。
2.Java屬性文件格式的配置文件
下面將給出連接本地SQL Server服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.properties的代碼。
例程2-2:光盤\mr\02\sl\02\hibernate.properties
#指定連接數(shù)據(jù)庫使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#指定連接數(shù)據(jù)庫的驅(qū)動(dòng)程序#
hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver
#指定連接數(shù)據(jù)庫的URL#
hibernate.connection.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=db_database02
#指定連接數(shù)據(jù)庫的用戶名#
hibernate.connection.username=sa
#指定連接數(shù)據(jù)庫的密碼#
hibernate.connection.password=
#指定在執(zhí)行程序時(shí),是否在控制臺(tái)上輸出SQL語句#
hibernate.show_sql=true
#-指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句#
hibernate.format_sql=true
#指定是否在SQL語句中輸出便于調(diào)試的注釋信息#
hibernate.use_sql_comments=true
在上面的代碼中,“127.0.0.1”代表本地SQL Server服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的SQL Server服務(wù)器的IP地址,也可以是服務(wù)器名(如wgh);“db_database02”為要連接的數(shù)據(jù)庫名稱;“sa”為連接SQL Server服務(wù)器的登錄用戶;“hibernate.connection.password=”表示連接SQL Server服務(wù)器的登錄密碼為空,如果不為空,只需在等號(hào)“=”后面加上密碼即可。
2.4.2 連接MySQL數(shù)據(jù)庫的Hibernate配置文件
連接MySQL的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面將分別給出這兩種格式的配置文件的代碼。
1.xml格式的配置文件
下面將給出連接本地MySQL服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.cfg.xml的代碼。
例程2-3:光盤\mr\02\sl\03\hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class"><!--指定連接數(shù)據(jù)庫用的驅(qū)動(dòng)-->
com.mysql.jdbc.Driver
</property>
<property name="connection.url"><!--指定連接數(shù)據(jù)庫的路徑-->
jdbc:mysql://localhost:3306/db_database02
</property>
<property name="connection.username">root</property><!--指定連接數(shù)據(jù)庫的用戶名-->
<property name="connection.password">111</property><!--指定連接數(shù)據(jù)庫的密碼-->
<!--指定數(shù)據(jù)庫使用的SQL方言-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--指定一個(gè)Transaction實(shí)例工廠類-->
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<!--當(dāng)show_sql屬性為true時(shí)表示在程序運(yùn)行時(shí)在控制臺(tái)輸出SQL語句,默認(rèn)為false,建議在調(diào)試程序時(shí)設(shè)為true,發(fā)布程序之前再改為false,因?yàn)檩敵鯯QL語句會(huì)影響程序的運(yùn)行速度-->
<property name="show_sql">true</property>
<!--指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句-->
<property name="format_sql">true</property>
<!--指定是否在SQL語句中輸出便于調(diào)試的注釋信息-->
<property name="use_sql_comments">true</property>
<mapping resource="UserForm.hbm.xml"/><!--指定持久化類映射文件-->
</session-factory>
</hibernate-configuration>
在上面的代碼中,“l(fā)ocalhost”代表本地MySQL服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的MySQL服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“root”為登錄用戶名;“111”表示用戶密碼;“org.hibernate.transaction.JDBCTransactionFactory”表示采用JDBC的事務(wù)處理機(jī)制;“UserForm.hbm.xml”為持久化類對(duì)應(yīng)的映射文件名稱。
2.Java屬性文件格式的配置文件
下面將給出連接本地MySQL服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.properties的代碼。
例程2-4:光盤\mr\02\sl\04\hibernate.properties
#指定連接數(shù)據(jù)庫使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#指定連接數(shù)據(jù)庫的驅(qū)動(dòng)程序#
hibernate.connection.driver_class=com.mysql.jdbc.Driver
#指定連接數(shù)據(jù)庫的URL#
hibernate.connection.url=jdbc:mysql://localhost:3306/db_database02
#指定連接數(shù)據(jù)庫的用戶名#
hibernate.connection.username=root
#指定連接數(shù)據(jù)庫的密碼#
hibernate.connection.password=111
#指定一個(gè)Transaction實(shí)例工廠類#
hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
#指定在執(zhí)行程序時(shí),是否在控制臺(tái)上輸出SQL語句#
hibernate.show_sql=true
#-指定是否按照標(biāo)準(zhǔn)格式在控制臺(tái)上輸出SQL語句#
hibernate.format_sql=true
#指定是否在SQL語句中輸出便于調(diào)試的注釋信息#
hibernate.use_sql_comments=true
在上面的代碼中,“l(fā)ocalhost”代表本地MySQL服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的MySQL服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“root”為登錄用戶名;“111”表示用戶密碼;“org.hibernate.transaction.JDBCTransactionFactory”表示采用JDBC的事務(wù)處理機(jī)制。
2.4.3 連接Oracle數(shù)據(jù)庫的Hibernate配置文件
連接Oracle的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面分別給出這兩種格式配置文件的代碼。
1.xml格式的配置文件
下面將給出連接本地Oracle服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.cfg.xml的代碼。
例程2-5:光盤\mr\02\sl\05\hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--指定連接數(shù)據(jù)庫用的驅(qū)動(dòng)-->
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<!--指定連接數(shù)據(jù)庫的路徑-->
<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:db_database02
</property>
<!--指定連接數(shù)據(jù)庫的用戶名-->
<property name="connection.username">SYSTEM</property>
<property name="connection.password">SYSTEM</property><!--指定連接數(shù)據(jù)庫的密碼-->
<!--指定數(shù)據(jù)庫使用的SQL方言-->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!--當(dāng)show_sql屬性為true時(shí)表示在程序運(yùn)行時(shí)在控制臺(tái)輸出SQL語句,默認(rèn)為false,建議在調(diào)試程序時(shí)設(shè)為true,發(fā)布程序之前再改為false,因?yàn)檩敵鯯QL語句會(huì)影響程序的運(yùn)行速度-->
<property name="show_sql">true</property>
<mapping resource="UserForm.hbm.xml"/><!--指定持久化類映射文件-->
</session-factory>
</hibernate-configuration>
在上面的代碼中,“l(fā)ocalhost”代表本地Oracle服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的Oracle服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“SYSTEM”為登錄用戶名;“SYSTEM”表示用戶密碼;“UserForm.hbm.xml”為持久化類對(duì)應(yīng)的映射文件名稱。
2.Java屬性文件格式的配置文件
下面將給出連接本地Oracle服務(wù)器上的db_database02數(shù)據(jù)庫時(shí)Hibernate配置文件hibernate.properties的代碼。
例程2-6:光盤\mr\02\sl\06\hibernate.properties
#指定連接數(shù)據(jù)庫使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#指定連接數(shù)據(jù)庫的驅(qū)動(dòng)程序#
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
#指定連接數(shù)據(jù)庫的URL#
hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:db_database02
#指定連接數(shù)據(jù)庫的用戶名#
hibernate.connection.username=SYSTEM
#指定連接數(shù)據(jù)庫的密碼#
hibernate.connection.password=SYSTEM
#指定在執(zhí)行程序時(shí),是否在控制臺(tái)上輸出SQL語句#
hibernate.show_sql=true
在上面的代碼中,“l(fā)ocalhost”代表本地Oracle服務(wù)器,如果想連接其他服務(wù)器可以修改為要連接的Oracle服務(wù)器的名稱;“db_database02”為要連接的數(shù)據(jù)庫名稱;“SYSTEM”為登錄用戶名;“SYSTEM”表示用戶密碼。
說明:在Hibernate包的etc目錄下附帶了一個(gè)用于連接各種關(guān)系數(shù)據(jù)庫配置代碼的hibernate.properties文件,讀者可以根據(jù)該文件寫出連接其他數(shù)據(jù)庫的配置文件。
1433是SQLserver默認(rèn)的端口號(hào),如果要連接到其他機(jī)器上,要將localhost改為其他機(jī)器的IP地址,如192.168.0.101。
其中數(shù)據(jù)庫名是你所新建的數(shù)據(jù)庫的名稱,用戶名和密碼是你登陸SQLserver是的用戶名和密碼。
有的人安裝SQLserver時(shí)用的是Windows身份驗(yàn)證,那么用戶名和密碼都為空。如果不能登陸,或者要用SQL身份驗(yàn)證的話,需要修改注冊(cè)表。在運(yùn)行里打開regedit,然后查找loginmode(具體位置:hkey_local_machine\software\microsoft\MSSQLserver\
mssqlserver\),僅用Windows身份驗(yàn)證的值為1,混合身份驗(yàn)證的值為2。只要將1改為2,就可以用SQL身份驗(yàn)證了,用戶名為‘sa',密碼為空。 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的Hibernate连接数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中信资本是谁家的
- 下一篇: linux cmake编译源码,linu