2.4 通过Hibernate连接数据库
Hibernate能够访问多种关系数据库,如SQL Server、MySQL、Oracle和Access等。在访问这些数据库时,只需要在Hibernate的配置文件中指定正确的连接属性值。下面将给出通过Hibernate连接几种常用数据库的Hibernate配置文件。
2.4.1 连接SQL Server 2000数据库的Hibernate配置文件
连接SQL Server 2000的Hibernate配置文件有两种格式,一种是xml格式的,另一种是Java属性文件格式的。下面将分别给出这两种格式的配置文件的代码。
1.xml格式的配置文件
下面将给出连接本地SQL Server服务器上的db_database02数据库时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>
<!--指定数据库使用的SQL方言-->
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<!--指定连接数据库用的驱动-->
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<!--指定连接数据库的路径-->
<property name="connection.url">
jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=db_database02
</property>
<!--指定连接数据库的用户名-->
<property name="connection.username">sa</property>
<!--指定连接数据库的密码-->
<property name="connection.password"></property>
<!--当show_sql属性为true时,表示当程序运行时在控制台输出SQL语句,默认为false-->
<property name="show_sql">true</property>
<!--指定是否按照标准格式在控制台上输出SQL语句-->
<property name="format_sql">true</property>
<!--指定是否在SQL语句中输出便于调试的注释信息-->
<property name="use_sql_comments">true</property>
<!--指定持久化类映射文件-->
<mapping resource="com/BranchForm.hbm.xml"/>
</session-factory>
</hibernate-configuration>
在上面的代码中,“127.0.0.1”代表本地SQL Server服务器,如果想连接其他服务器可以修改为要连接的SQL Server服务器的IP地址,也可以是服务器名(如wgh);“db_database02”为要连接的数据库名称;“sa”为连接SQL Server服务器的登录用户;“<property name="connection.password"></property>”表示连接SQL Server服务器的登录密码为空,如果不为空,只需在“>”和“<”之间加入密码即可;“BranchForm.hbm.xml”为持久化类对应的映射文件名称。
2.Java属性文件格式的配置文件
下面将给出连接本地SQL Server服务器上的db_database02数据库时Hibernate配置文件hibernate.properties的代码。
例程2-2:光盘\mr\02\sl\02\hibernate.properties
#指定连接数据库使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#指定连接数据库的驱动程序#
hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver
#指定连接数据库的URL#
hibernate.connection.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=db_database02
#指定连接数据库的用户名#
hibernate.connection.username=sa
#指定连接数据库的密码#
hibernate.connection.password=
#指定在执行程序时,是否在控制台上输出SQL语句#
hibernate.show_sql=true
#-指定是否按照标准格式在控制台上输出SQL语句#
hibernate.format_sql=true
#指定是否在SQL语句中输出便于调试的注释信息#
hibernate.use_sql_comments=true
在上面的代码中,“127.0.0.1”代表本地SQL Server服务器,如果想连接其他服务器可以修改为要连接的SQL Server服务器的IP地址,也可以是服务器名(如wgh);“db_database02”为要连接的数据库名称;“sa”为连接SQL Server服务器的登录用户;“hibernate.connection.password=”表示连接SQL Server服务器的登录密码为空,如果不为空,只需在等号“=”后面加上密码即可。
2.4.2 连接MySQL数据库的Hibernate配置文件
连接MySQL的Hibernate配置文件有两种格式,一种是xml格式的,另一种是Java属性文件格式的。下面将分别给出这两种格式的配置文件的代码。
1.xml格式的配置文件
下面将给出连接本地MySQL服务器上的db_database02数据库时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"><!--指定连接数据库用的驱动-->
com.mysql.jdbc.Driver
</property>
<property name="connection.url"><!--指定连接数据库的路径-->
jdbc:mysql://localhost:3306/db_database02
</property>
<property name="connection.username">root</property><!--指定连接数据库的用户名-->
<property name="connection.password">111</property><!--指定连接数据库的密码-->
<!--指定数据库使用的SQL方言-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--指定一个Transaction实例工厂类-->
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<!--当show_sql属性为true时表示在程序运行时在控制台输出SQL语句,默认为false,建议在调试程序时设为true,发布程序之前再改为false,因为输出SQL语句会影响程序的运行速度-->
<property name="show_sql">true</property>
<!--指定是否按照标准格式在控制台上输出SQL语句-->
<property name="format_sql">true</property>
<!--指定是否在SQL语句中输出便于调试的注释信息-->
<property name="use_sql_comments">true</property>
<mapping resource="UserForm.hbm.xml"/><!--指定持久化类映射文件-->
</session-factory>
</hibernate-configuration>
在上面的代码中,“localhost”代表本地MySQL服务器,如果想连接其他服务器可以修改为要连接的MySQL服务器的名称;“db_database02”为要连接的数据库名称;“root”为登录用户名;“111”表示用户密码;“org.hibernate.transaction.JDBCTransactionFactory”表示采用JDBC的事务处理机制;“UserForm.hbm.xml”为持久化类对应的映射文件名称。
2.Java属性文件格式的配置文件
下面将给出连接本地MySQL服务器上的db_database02数据库时Hibernate配置文件hibernate.properties的代码。
例程2-4:光盘\mr\02\sl\04\hibernate.properties
#指定连接数据库使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#指定连接数据库的驱动程序#
hibernate.connection.driver_class=com.mysql.jdbc.Driver
#指定连接数据库的URL#
hibernate.connection.url=jdbc:mysql://localhost:3306/db_database02
#指定连接数据库的用户名#
hibernate.connection.username=root
#指定连接数据库的密码#
hibernate.connection.password=111
#指定一个Transaction实例工厂类#
hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
#指定在执行程序时,是否在控制台上输出SQL语句#
hibernate.show_sql=true
#-指定是否按照标准格式在控制台上输出SQL语句#
hibernate.format_sql=true
#指定是否在SQL语句中输出便于调试的注释信息#
hibernate.use_sql_comments=true
在上面的代码中,“localhost”代表本地MySQL服务器,如果想连接其他服务器可以修改为要连接的MySQL服务器的名称;“db_database02”为要连接的数据库名称;“root”为登录用户名;“111”表示用户密码;“org.hibernate.transaction.JDBCTransactionFactory”表示采用JDBC的事务处理机制。
2.4.3 连接Oracle数据库的Hibernate配置文件
连接Oracle的Hibernate配置文件有两种格式,一种是xml格式的,另一种是Java属性文件格式的。下面分别给出这两种格式配置文件的代码。
1.xml格式的配置文件
下面将给出连接本地Oracle服务器上的db_database02数据库时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>
<!--指定连接数据库用的驱动-->
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<!--指定连接数据库的路径-->
<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:db_database02
</property>
<!--指定连接数据库的用户名-->
<property name="connection.username">SYSTEM</property>
<property name="connection.password">SYSTEM</property><!--指定连接数据库的密码-->
<!--指定数据库使用的SQL方言-->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!--当show_sql属性为true时表示在程序运行时在控制台输出SQL语句,默认为false,建议在调试程序时设为true,发布程序之前再改为false,因为输出SQL语句会影响程序的运行速度-->
<property name="show_sql">true</property>
<mapping resource="UserForm.hbm.xml"/><!--指定持久化类映射文件-->
</session-factory>
</hibernate-configuration>
在上面的代码中,“localhost”代表本地Oracle服务器,如果想连接其他服务器可以修改为要连接的Oracle服务器的名称;“db_database02”为要连接的数据库名称;“SYSTEM”为登录用户名;“SYSTEM”表示用户密码;“UserForm.hbm.xml”为持久化类对应的映射文件名称。
2.Java属性文件格式的配置文件
下面将给出连接本地Oracle服务器上的db_database02数据库时Hibernate配置文件hibernate.properties的代码。
例程2-6:光盘\mr\02\sl\06\hibernate.properties
#指定连接数据库使用的SQL方言#
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#指定连接数据库的驱动程序#
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
#指定连接数据库的URL#
hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:db_database02
#指定连接数据库的用户名#
hibernate.connection.username=SYSTEM
#指定连接数据库的密码#
hibernate.connection.password=SYSTEM
#指定在执行程序时,是否在控制台上输出SQL语句#
hibernate.show_sql=true
在上面的代码中,“localhost”代表本地Oracle服务器,如果想连接其他服务器可以修改为要连接的Oracle服务器的名称;“db_database02”为要连接的数据库名称;“SYSTEM”为登录用户名;“SYSTEM”表示用户密码。
说明:在Hibernate包的etc目录下附带了一个用于连接各种关系数据库配置代码的hibernate.properties文件,读者可以根据该文件写出连接其他数据库的配置文件。
1433是SQLserver默认的端口号,如果要连接到其他机器上,要将localhost改为其他机器的IP地址,如192.168.0.101。
其中数据库名是你所新建的数据库的名称,用户名和密码是你登陆SQLserver是的用户名和密码。
有的人安装SQLserver时用的是Windows身份验证,那么用户名和密码都为空。如果不能登陆,或者要用SQL身份验证的话,需要修改注册表。在运行里打开regedit,然后查找loginmode(具体位置:hkey_local_machine\software\microsoft\MSSQLserver\
mssqlserver\),仅用Windows身份验证的值为1,混合身份验证的值为2。只要将1改为2,就可以用SQL身份验证了,用户名为‘sa',密码为空。
分享到:
相关推荐
Hibernate连接数据库的注册的项目
java利用hibernate连接数据库,hibernate应用范例
Hibernate连接数据库.pdf
自己收藏 适合初学者 hibernate 连接数据库基础源码
此文件主要有Hibernate连接数据库的方法...
hibernate 连接数据库基础源码 适合初学
hibernate 连接数据库基础源码 适合初学
hibernate连接数据库的连接配置。包括oracle等一系列配置。
用eclicpse实现的hibernate连接oracle数据库,并提取中文的小程序
本项目主要用JavaDom解析xml文件模拟Hiberntate连接数据库。 注:本项目只做学习之用。有错误希望指出
hibernate连接Oracle和mySql数据库驱动下载,mysql-connector-java-5.1.7-bin.jar,ojdbc6.jar,ojdbc7.jar,xdb6.jar,ucp.jar,simplefan.jar,orai18n.jar,ons.jar,antlr-2.7.7.jar,c3p0-0.9.2.1.jar等等全部...
hibernate连接金仓数据库所需jar包集合。
方便你使用的abstract类,继承起来非常方便
文档中列出了hibernate连接各种数据库的配置,同时也提供了使用c3p0连接各种数据库的配置,非常方便您的开发。
hibernate配置数据库连接池的三种方法(数据库连接池的概念)
Hibernate配置数据库连接;操作技巧;减少写代码
hibernate同时配置多个数据库连接 可以同时连接不同IP的不同数据库
Hibernate不同数据库的连接及SQL方言
Hibernate连接MySql数据库生成表结构,本例演示了一种比较少见的方式