原标题:Java JDBC下执行SQL的不同方式
Java JDBC简介
数据库驱动程序是JDBC程序和数据库之间的转换层,数据库驱动程序负责将JDBC调用映射成特定的数据库调用,使用Java JDBC API进行编程,可以为多种关系数据库提供统一访问。
jdbc的驱动通常有四种类型:
JDBC-ODPC桥: 它将JDBC API映射到ODPC API。再让JDBC-ODPC调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)
本地API驱动 直接将JDBC API映射成数据库特定的客户端API,即通过客户端加载数据库厂商提供的本地代码库(
网络协议驱动 这种类型的驱动给客户端提供了一个网络API,客户端上的JDBC驱动程序使用套接字(Socket)来调用服务器上的中间件程序,后者在将其请求转化为所需的具体API调用。
本地协议驱动 这种类型的驱动使用Socket,直接在客户端和数据库间通信。它是一种直接与数据库实例交互的JDBC 这种驱动是智能的,它知道数据库使用的底层协议,也是目前最主流使用的JDBC驱动。
JDBC编程(连接数据库)步骤
1.加载数据库驱动
使用Class类的forName()静态方法来加载驱动(由各个数据库厂商自己实现)
对于oracle数据库而言数据库驱动类对应的字符串:oracle.jdbc.driver.OracleDriver
Class.forName("oracle.jdbc.driver.OracleDriver");
对于mysql数据库而言数据库驱动类对应的字符串:com.mysql.jdbc.Driver
Class.forName("com.mysql.jdbc.Driver");
获取Connection对象
DriverManager类提供getConnection(String url, String user, String pass);
url: 数据库连接字符串
user: 用户名
pass: 密码
Mysql:
url: jdbc:mysql://hostname:port/databasename
oracle
url: jdbc:oracle:thin:@hostname:port:databasename
3.通过Connection对象创建Statement对象
Connection创建Statement对象的常用方法有如下2个
- createStatement(String sql):创建基本的Statement对象
- prepareStatement(String sql):根据传入的SQL语句创建预编译的Statement对象
4.使用Statement执行SQL语句
1execute(): 可以执行任何 SQL语句,但比较麻烦
2
3executeUpdate(): 主要用于执行DML和 DDL语句。执行DML语句返回受 SQL影响的行数,执行 DDL语句返回
4
5executeQuery(): 只能执行查询语句,执行后返回代表查询结果的ResultSet对象,该对象里保存了 SQL语句查询的结果。程序可以通过操作该ResultSet对象来取出查询结果。
6
7ResultSet对象主要提供了如 下方法
8
9移动记录指针的方法
10
11next()
12
13previous()
14
15first()
16