首页 理论教育 简单高效的JDBC使用步骤

简单高效的JDBC使用步骤

时间:2023-11-16 理论教育 版权反馈
【摘要】:user 和pwd:登录数据库的用户名和密码。databasename:MySQL 中相应数据库的名称。prepareCall:根据传入的SQL 语句创建CallableStatement 对象。executeQuery:用于执行查询语句,返回ResultSet 结果集对象。程序可以通过操作该ResultSet 对象来取出查询结果。为了保证在异常情况下也能关闭资源,需要在try...catch 的finally 代码块中统一关闭资源。下面通过一个案例来演示JDBC 的具体使用。该程序从users 表中读取数据,并将结果打印在控制台,如文件10-1 所示。

简单高效的JDBC使用步骤

1. 加载数据库驱动

语法:

Class.forName("DriverName"); //DriverName 就是数据库驱动类所对应的字符串

示例

(1)加载MySQL 数据库驱动

Class.forName("com.mysql.jdbc.Driver");

(2)加载Oracle 数据库的驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

2. 通过DriverManager 获取数据库连接

语法:

Connection conn = DriverManager.getConnection (String url, String user, String pwd);

url:连接数据库的URL。

user 和pwd:登录数据库的用户名和密码。

url 语法(以MySQL 数据库为例):

jdbc:mysql://hostname: port/databasename。

jdbc:mysql:固定的写法,mysql 指的是MySQL 数据库。

hostname:主机的名称。

port:连接数据库的端口号(MySQL 端口号默认为3306)。

databasename:MySQL 中相应数据库的名称。

3. 通过Connection 对象获取Statement 对象(www.xing528.com)

创建方式:

(1)createStatement():创建基本的Statement 对象。

(2)prepareStatement(String sql):根据传递的SQL 语句创建PreparedStatement 对象。

(3)prepareCall(String sql):根据传入的SQL 语句创建CallableStatement 对象。

示例(以创建基本的Statement 对象为例):

Statement stmt = conn.createStatement();

4. 使用Statement 执行SQL 语句

执行SQL 方式:

(1)execute(String sql):用于执行任意的SQL 语句。

(2)executeQuery(String sql):用于执行查询语句,返回ResultSet 结果集对象。

(3)executeUpdate(String sql):主要用于执行DML(数据操作语言)和DDL(数据定义语言)语句。执行DML 语句(INSERT、UPDATE 或DELETE)时,会返回受SQL 语句影响的行数,执行DDL(CREATE、ALTER)语句返回0。

示例(以executeQuery()方法为例):

ResultSetrs = stmt.executeQuery(sql); // 执行SQL 语句,获取结果集ResultSet

5. 操作ResultSet 结果集

如果执行的SQL 语句是查询语句,执行结果将返回一个ResultSet 对象,该对象里保存了SQL 语句查询的结果。程序可以通过操作该ResultSet 对象来取出查询结果。

6. 关闭连接,释放资源

每次操作数据库结束后都要关闭数据库连接,释放资源,以重复利用资源。通常资源的关闭顺序与打开顺序相反,顺序是ResultSet、Statement(或PreparedStatement)和Connection。为了保证在异常情况下也能关闭资源,需要在try...catch 的finally 代码块中统一关闭资源。

【例10.1】下面通过一个案例来演示JDBC 的具体使用。该程序从users 表中读取数据,并将结果打印在控制台,如文件10-1 所示。

文件10-1 Example01.java

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈