文档

Java™ 教程
隐藏目录
入门
导航: JDBC 数据库访问
课程: JDBC 基础知识

入门

这个教程附带的示例代码创建了一个数据库,供一个名为The Coffee Break的小咖啡馆所有者使用,咖啡豆按磅销售,冲泡咖啡按杯销售。

以下步骤配置了一个JDBC开发环境,您可以使用该环境编译和运行教程示例:

  1. 在计算机上安装最新版本的Java SE SDK
  2. 如果需要,安装您的数据库管理系统(DBMS)
  3. 从您的数据库供应商那里安装JDBC驱动程序
  4. 安装Apache Ant
  5. 安装Apache Xalan
  6. 下载示例代码
  7. 修改build.xml文件
  8. 修改教程属性文件
  9. 编译和打包示例
  10. 创建数据库、表和填充表
  11. 运行示例

在计算机上安装最新版本的Java SE SDK

在计算机上安装最新版本的Java SE SDK。

确保Java SE SDK的完整目录路径下的bin目录在您的PATH环境变量中,以便您可以从任何目录运行Java编译器和Java应用程序启动器。

如果需要,安装您的数据库管理系统(DBMS)

此教程已经针对以下DBMS进行了测试:

请注意,如果您使用其他DBMS,可能需要修改教程示例的代码。

从您的数据库供应商那里安装JDBC驱动程序

如果您使用Java DB,则已经带有JDBC驱动程序。如果您使用MySQL,请安装最新版本的MySQL JDBC驱动程序Connector/J

联系您的数据库供应商以获取适用于您的DBMS的JDBC驱动程序。

JDBC驱动程序有许多可能的实现。这些实现被归类如下:

检查您的数据库管理系统提供哪些驱动程序类型。Java DB提供两种类型4驱动程序,即嵌入式驱动程序和网络客户端驱动程序。MySQL Connector/J是一种类型4驱动程序。

安装JDBC驱动程序通常包括将驱动程序复制到计算机上,然后将其位置添加到类路径中。此外,除了类型4驱动程序之外的许多JDBC驱动程序还要求您安装客户端API。通常不需要其他特殊配置。

安装Apache Ant

这些步骤使用Apache Ant,一个基于Java的工具,构建、编译和运行JDBC教程示例。请转到以下链接下载Apache Ant:

https://ant.apache.org/

确保Apache Ant可执行文件在您的PATH环境变量中,以便您可以从任何目录运行它。

安装Apache Xalan

如果您的数据库管理系统是Java DB,则RSSFeedsTable.java示例(在使用SQLXML对象中描述)需要Apache Xalan。该示例使用Apache Xalan-Java。请转到以下链接下载:

https://xml.apache.org/xalan-j/

下载示例代码

示例代码JDBCTutorial.zip包括以下文件:

创建一个目录来存放所有示例文件。这些步骤将使用<JDBC教程目录>来引用此目录。将JDBCTutorial.zip文件解压缩到<JDBC教程目录>

修改build.xml文件

build.xml文件是Apache Ant用于编译和执行JDBC示例的构建文件。文件properties/javadb-build-properties.xmlproperties/mysql-build-properties.xml包含Java DB和MySQL所需的额外的Apache Ant属性。文件properties/javadb-sample-properties.xmlproperties/mysql-sample-properties.xml包含示例所需的属性。

按照以下方式修改这些XML文件:

修改build.xml

build.xml文件中,将属性ANTPROPERTIES修改为properties/javadb-build-properties.xmlproperties/mysql-build-properties.xml,取决于您使用的DBMS。例如,如果您使用的是Java DB,则build.xml文件将包含以下内容:

<property
  name="ANTPROPERTIES"
  value="properties/javadb-build-properties.xml"/>

  <import file="${ANTPROPERTIES}"/>

类似地,如果你使用的是MySQL,你的 build.xml 文件应该包含以下内容:

<property
  name="ANTPROPERTIES"
  value="properties/mysql-build-properties.xml"/>

  <import file="${ANTPROPERTIES}"/>

修改特定于数据库的属性文件

properties/javadb-build-properties.xmlproperties/mysql-build-properties.xml 文件中(取决于你的DBMS),根据下表所述修改以下属性:

属性 描述
JAVAC 您的Java编译器的完整路径名,javac
JAVA 您的Java运行时可执行文件的完整路径名,java
PROPERTIESFILE 属性文件的名称,可以是properties/javadb-sample-properties.xmlproperties/mysql-sample-properties.xml
MYSQLDRIVER 您的MySQL驱动程序的完整路径名。对于Connector/J,通常是<Connector/J安装目录>/mysql-connector-java-版本号.jar
JAVADBDRIVER 您的Java DB驱动程序的完整路径名。通常是<Java DB安装目录>/lib/derby.jar
XALANDIRECTORY 包含Apache Xalan的目录的完整路径名。
CLASSPATH JDBC教程使用的类路径。 您不需要更改此值。
XALAN 文件xalan.jar的完整路径名。
DB.VENDOR 取决于您使用的是Java DB还是MySQL的值,可以是derbymysql。教程使用此值来构建连接到DBMS所需的URL,并标识特定于DBMS的代码和SQL语句。
DB.DRIVER JDBC驱动程序的完全限定类名。对于Java DB,这是org.apache.derby.jdbc.EmbeddedDriver。对于MySQL,这是com.mysql.cj.jdbc.Driver
DB.HOST 托管DBMS的计算机的主机名。
DB.PORT 托管DBMS的计算机的端口号。
DB.SID 教程创建和使用的数据库的名称。
DB.URL.NEWDATABASE 用于在创建新数据库时连接到您的DBMS的连接URL。 您不需要更改此值。
DB.URL 用于连接到您的DBMS的连接URL。 您不需要更改此值。
DB.USER 具有在DBMS中创建数据库权限的用户的名称。
DB.PASSWORD DB.USER中指定的用户的密码。
DB.DELIMITER 用于分隔SQL语句的字符。 不要更改此值。 它应该是分号字符(;)。

修改教程属性文件

教程示例使用properties/javadb-sample-properties.xml文件或properties/mysql-sample-properties.xml文件(取决于您使用的DBMS)中的值来连接DBMS并初始化数据库和表,如下表所述:

属性 描述
dbms 根据您使用的是Java DB还是MySQL,其值为derbymysql。教程使用此值构建连接到DBMS所需的URL,并标识DBMS特定的代码和SQL语句。
jar_file 包含本教程所有类文件的JAR文件的完整路径名。
driver JDBC驱动程序的完全限定类名。对于Java DB,为org.apache.derby.jdbc.EmbeddedDriver。对于MySQL,为com.mysql.cj.jdbc.Driver
database_name 教程创建和使用的数据库的名称。
user_name 具有在DBMS中创建数据库访问权限的用户的名称。
password user_name指定的用户关联的密码。
server_name 托管您的DBMS的计算机的主机名。
port_number 托管您的DBMS的计算机的端口号。

注意:为了简化JDBC API的演示,JDBC教程示例代码不执行部署系统通常使用的密码管理技术。在生产环境中,您可以遵循Oracle数据库密码管理准则并禁用任何示例帐户。有关密码管理准则和其他安全建议,请参阅Oracle Database Security Guide中的应用程序设计中的密码安全一节。

编译和打包示例

在命令提示符下,将当前目录更改为<JDBC教程目录>。从该目录运行以下命令来编译示例并将其打包到一个jar文件中:

ant jar

创建数据库、表和填充表

如果你使用的是MySQL,则运行以下命令创建一个数据库:

ant create-mysql-database

注意:在build.xml文件中不存在创建Java DB数据库的相应Ant目标。用于建立数据库连接的Java DB数据库URL中包含创建数据库的选项(如果数据库不存在)。有关更多信息,请参见建立连接

如果你使用的是Java DB或MySQL,则从同一目录运行以下命令来删除现有的示例数据库表、重新创建表并填充数据。对于Java DB,这个命令还会在数据库不存在时创建数据库:

ant setup

注意:在运行示例中的Java类之前,应该每次都运行ant setup命令。这些示例中的许多示例都期望样本数据库表的内容具有特定数据。

运行示例

build.xml文件中的每个目标对应于JDBC示例中的一个Java类或SQL脚本。下表列出了build.xml文件中的目标、每个目标执行的类或脚本,以及每个目标所需的其他类或文件:

Ant目标 类或SQL脚本 其他所需类或文件
javadb-create-procedure javadb/create-procedures.sql;查看build.xml文件以查看其他运行的SQL语句 无其他所需文件
mysql-create-procedure mysql/create-procedures.sql 无其他所需文件
run JDBCTutorialUtilities 无其他所需类
runct CoffeesTable JDBCTutorialUtilities
runst SuppliersTable JDBCTutorialUtilities
runjrs JdbcRowSetSample JDBCTutorialUtilities
runcrs CachedRowSetSampleExampleRowSetListener JDBCTutorialUtilities
runjoin JoinSample JDBCTutorialUtilities
runfrs FilteredRowSetSample JDBCTutorialUtilitiesCityFilterStateFilter
runwrs WebRowSetSample JDBCTutorialUtilities
runclob ClobSample JDBCTutorialUtilitiestxt/colombian-description.txt
runrss RSSFeedsTable JDBCTutorialUtilitiesxml目录中的XML文件
rundl DatalinkSample JDBCTutorialUtilities
runspjavadb StoredProcedureJavaDBSample JDBCTutorialUtilitiesSuppliersTableCoffeesTable
runspmysql StoredProcedureMySQLSample JDBCTutorialUtilitiesSuppliersTableCoffeesTable
runframe CoffeesFrame JDBCTutorialUtilitiesCoffeesTableModel

例如,要运行类CoffeesTable,请将当前目录更改为<JDBC教程目录>,然后从该目录中运行以下命令:

ant runct

上一页: JDBC 基础
下一页: 使用 JDBC 处理 SQL 语句