二、JDBC 编程的步骤
① 注册一个 driver
注册驱动程序有三种方式:
方式一:Class.forName(“oracle.jdbc.driver.OracleDriver”);
JAVA 规范中明确规定:所有的驱动程序必须在静态初始化代码块中将驱动
注册到驱动程序管理器中。
方式二:Driver drv = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver(drv);
方式三:编译时在虚拟机中加载驱动
javac –Djdbc.drivers = oracle.jdbc.driver.OracleDriver xxx.java
java –D jdbc.drivers=驱动全名 类名
使用系统属性名,加载驱动 -D 表示为系统属性赋值
附 : mysql 的 Driver 的全名 com.mysql.jdbc.Driver
SQLServer 的 Driver 的全名 com.microsoft.jdbc.sqlserver.SQLServerDriver
② 建立连接
conn=DriverManager.getConnection(“jdbc:oracle:thin:@192.168.0.20:1521:tarena”, ”
User”,” Pasword”);
IP 地址及端口号和用户名,密码+ 数据库实例名
Connection 连接是通过 DriverManager 的静态方法 getConnection(.....)来得到的,这个方法的
实质是把参数传到实际的 Driver 中的 connect()方法中来获得数据库连接的。
Oracle URL 的格式:
jdbc:oracle:thin:(协议)@XXX.XXX.X.XXX:XXXX(IP 地址及端口号):XXXXXXX(所
使用的库名)
MySql URL 的写法 例: jdbc:mysql://192.168.8.21:3306/test
③ 获得一个 Statement 对象
sta = conn.createStatement();
④ 通过 Statement 执行 Sql 语句
sta.executeQuery(String sql);返回一个查询结果集。
sta.executeUpdate(String sql);返回值为 int 型,表示影响记录的条数。
将 sql 语句通过连接发送到数据库中执行,以实现对数据库的操作。
⑤ 处理结果集
使用 Connection 对象获得一个 Statement,Statement 中的 executeQuery(String sql) 方法
可以使用 select 语句查询,并且返回一个结果集 ResultSet 通过遍历这个结果集,可以获得
select 语句的查寻结果,ResultSet 的 next()方法会操作一个游标从第一条记录的前面开始读
取,直到最后一条记录。executeUpdate(String sql) 方法用于执行 DDL 和 DML 语句,比如
可以 update,delete 操作。
只有执行 select 语句才有结果集返回。
例: Statement str=con.createStatement(); //创建 Statement
String sql=”insert into test(id,name) values(1,”+”’”+”test”+”’”+”)”;
str. executeUpdate(sql);//执行 Sql 语句
String sql=”select * from test”;
ResultSet rs=str. executeQuery(String sql);//执行 Sql 语句, 执行 select 语句后有结果集
//遍历处理结果集信息
next()如果有下一条记录返回 true,否则为 false;
while(rs.next()){
有,则游标向下一条记录.
System.out.println(rs.getInt(“id”));
System.out.println(rs.getString(“name”))
}
⑥ 关闭数据库连接(释放资源) 调用.close()
rs.close(); sta.close(); con.close();
ResultSet Statement Connection 是依次依赖的。
注意: 要按先 ResultSet 结果集, Statement,
后 最后 Connection 的顺序关闭资源, 因为 Statement
和 ResultSet 是需要连接时才可以使用的, 所以在使用结束之后有可能其它的 Statement 还需
要连接,所以不能现关闭 Connection。
图形演绎编写 JDBC 程序的一般过程:
① 注册一个 driver
注册驱动程序有三种方式:
方式一:Class.forName(“oracle.jdbc.driver.OracleDriver”);
JAVA 规范中明确规定:所有的驱动程序必须在静态初始化代码块中将驱动
注册到驱动程序管理器中。
方式二:Driver drv = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver(drv);
方式三:编译时在虚拟机中加载驱动
javac –Djdbc.drivers = oracle.jdbc.driver.OracleDriver xxx.java
java –D jdbc.drivers=驱动全名 类名
使用系统属性名,加载驱动 -D 表示为系统属性赋值
附 : mysql 的 Driver 的全名 com.mysql.jdbc.Driver
SQLServer 的 Driver 的全名 com.microsoft.jdbc.sqlserver.SQLServerDriver
② 建立连接
conn=DriverManager.getConnection(“jdbc:oracle:thin:@192.168.0.20:1521:tarena”, ”
User”,” Pasword”);
IP 地址及端口号和用户名,密码+ 数据库实例名
Connection 连接是通过 DriverManager 的静态方法 getConnection(.....)来得到的,这个方法的
实质是把参数传到实际的 Driver 中的 connect()方法中来获得数据库连接的。
Oracle URL 的格式:
jdbc:oracle:thin:(协议)@XXX.XXX.X.XXX:XXXX(IP 地址及端口号):XXXXXXX(所
使用的库名)
MySql URL 的写法 例: jdbc:mysql://192.168.8.21:3306/test
③ 获得一个 Statement 对象
sta = conn.createStatement();
④ 通过 Statement 执行 Sql 语句
sta.executeQuery(String sql);返回一个查询结果集。
sta.executeUpdate(String sql);返回值为 int 型,表示影响记录的条数。
将 sql 语句通过连接发送到数据库中执行,以实现对数据库的操作。
⑤ 处理结果集
使用 Connection 对象获得一个 Statement,Statement 中的 executeQuery(String sql) 方法
可以使用 select 语句查询,并且返回一个结果集 ResultSet 通过遍历这个结果集,可以获得
select 语句的查寻结果,ResultSet 的 next()方法会操作一个游标从第一条记录的前面开始读
取,直到最后一条记录。executeUpdate(String sql) 方法用于执行 DDL 和 DML 语句,比如
可以 update,delete 操作。
只有执行 select 语句才有结果集返回。
例: Statement str=con.createStatement(); //创建 Statement
String sql=”insert into test(id,name) values(1,”+”’”+”test”+”’”+”)”;
str. executeUpdate(sql);//执行 Sql 语句
String sql=”select * from test”;
ResultSet rs=str. executeQuery(String sql);//执行 Sql 语句, 执行 select 语句后有结果集
//遍历处理结果集信息
next()如果有下一条记录返回 true,否则为 false;
while(rs.next()){
有,则游标向下一条记录.
System.out.println(rs.getInt(“id”));
System.out.println(rs.getString(“name”))
}
⑥ 关闭数据库连接(释放资源) 调用.close()
rs.close(); sta.close(); con.close();
ResultSet Statement Connection 是依次依赖的。
注意: 要按先 ResultSet 结果集, Statement,
后 最后 Connection 的顺序关闭资源, 因为 Statement
和 ResultSet 是需要连接时才可以使用的, 所以在使用结束之后有可能其它的 Statement 还需
要连接,所以不能现关闭 Connection。
图形演绎编写 JDBC 程序的一般过程: