返回介绍

连接到 MySQL

发布于 2025-04-21 21:42:14 字数 2201 浏览 0 评论 0 收藏

接下来,我们需要用一个 JDBC 驱动程序才能够连接到 MySQL。为了获取这个驱动程序,可以在 build.xml 中再添加一个依赖,如例 10-2 所示。对于几种不同的数据库,都有它们各自可供使用的驱动程序,这一点不错。这些不同的驱动程序不会冲突,因为 Hibernate 配置文件会指定最终使用哪个驱动程序(如果你对如何“手工”获取这种驱动程序感到好奇,那么可以从 MySQL 的官方网站( [1] )下载 Connector/J)。不过,如果你想避免以后 Hibernate 配置文件的读者会感到这部分有些混乱,则可以放心地删除<hsqldb>依赖和<db>构建目标,因为以后不再需要用 GUI(图形用户界面)查看 HSQLDB 中的数据了。

例 10-2:在 build.xml 中添加对 MySQL 驱动程序的项目依赖

……

<artifact:dependencies pathId="dependency.class.path">

<dependency groupId="hsqldb"artifactId="hsqldb"version="1.8.0.7"/>

<dependency groupId="mysql"artifactId="mysql-connector-java"

version="5.0.5"/>

<dependency groupId="org.hibernate"artifactId="hibernate"

version="3.2.5.ga">

……

说到配置文件,现在就应该编辑 hibernate.cfg.xml,以使用新的驱动程序和我们刚才创建的数据库了。例 10-3 演示了如何使用前面例 10-1 创建的数据来建立到我自己的 MySQL 数据库实例的连接。你需要根据你自己的数据库服务器、数据库以及你所选择的登录身份认证来调整这些数据库连接的配置值(如果你使用的是 MM.MySQL,则应该使用旧版的 MySQL JDBC 驱动程序,相应的驱动程序类名称应该是 com.mysql.jdbc.Driver)。

还需要删除配置文件底部的 jdbc.batch_size 属性。报告来自批处理内的实际问题,MySQL 驱动程序没有任何问题;与进程外(out-of-process)数据库相比,对于前面使用的 HSQLDB 驱动程序,如果关闭这个批处理选项,则会对性能造成很大的不良影响。

例 10-3:修改 hibernate.cfg.xml 以连接到新的 MySQL 数据库

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

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!--SQL dialect-->

<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

<!--Database connection settings-->

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

<property

name="connection.url">jdbc:mysql://localhost/notebook_db</property>

<property name="connection.username">jim</property>

<property name="connection.password">s3cret</property>

<property name="connection.shutdown">true</property>

……

如果不是在运行测试示例的机器上运行 MySQL,而是在另外的机器上运行 MySQL,则第三个属性定义必须能够反映出你的数据库服务器的名称。另外,connection.shutdown 配置属性也不再需要了,不过,放在那里也没什么影响。

[1] http://www.mysql.com/products/connector/j/.

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。