~本特利~ |
学习笔记
如何使用JDBC的常用API实现一个JDBC程序。
通常,JDBC的使用可以按照以下几个步骤进行:
(1)加载并注册数据库驱动
注册数据库驱动的具体方式如下:
(2)通过DriverManager获取数据库连接
获取数据库连接的具体方式如下:
从上述代码可以看出,getConnection()方法中有3个参数,它们分别表示连接数据库的URL地址、登录数据库的用户名和密码。
以MySQL数据库为例,其URL地址的书写格式如下:
上面代码中,jdbc:mysql:是固定的写法,mysql指的是MySQL数据库。hostname指的是主机的名称(如果数据库在本机中,hostname可以为localhost或127.0.0.1;如果要连接的数据库在其他电脑上hostname为所要连接电脑的IP),port指的是连接数据库的端口号(MySQL端口号默认为3306),而databasename指的是MySQL中相应数据库的名称。
(3)通过Connection对象获取Statement对象
Connection创建Statement的方式有如下三种:
- createStatement():创建基本的Statement对象。
- prepareStatement():创建PreparedStatement对象。
- prepareCall():创建CallableStatement对象。
以创建基本的Statement对象为例,创建方式如下:
(4)使用Statement执行SQL语句
所有的Statement都有如下三种执行SQL语句的方法:
- execute():可以执行任何SQL语句。
- executeQuery():通常执行查询语句,执行后返回代表结果集的ResultSet对象。
- executeUpdate():主要用于执行DML和DDL语句。执行DML语句,如 INSERT、UPDATE或DELETE时,返回受SQL语句影响的行数,执行DDL语句返回0。
以executeQuery()方法为例,其使用方式如下:
(5)操作ResultSet结果集
如果执行的SQL语句是查询语句,执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。程序可以通过操作该ResultSet对象来取出查询结果。
(6)关闭连接,释放资源
每次操作数据库结束后都要关闭数据库连接,释放资源,包括关闭ResultSet、Statement和Connection等资源。
实践
1.搭建数据库环境
1.注册驱动
虽然使用DriverManager.registerDriver(new com.mysql.jdbc.Driver())方法也可以完成注册,但此方式会使数据库驱动被注册两次。这是因为Driver类的源码中,已经在静态代码块中完成了数据库驱动的注册。所以,为了避免数据库驱动被重复注册,只需要在程序中使用Class.forName()方法加载驱动类即可。
2.释放资源
由于数据库资源非常宝贵,数据库允许的并发访问连接数量有限,因此,当数据库资源使用完毕后,一定要记得释放资源。为了保证资源的释放,在Java程序中,应该将最终必须要执行的操作放在finally代码块中。