二、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:test”, ” User”,” Pasword”);
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语句后有结果集 //遍历处理结果集信息 while(rs.next()){ System.out.println(rs.getInt(“id”)); System.out.println(rs.getString(“name”)) }
next()如果有下一条记录返回true,否则为false;
有,则游标向下一条记录.
⑥ 关闭数据库连接(释放资源) 调用.close()
rs.close(); sta.close(); con.close();
ResultSet Statement Connection是依次依赖的。
注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接时才可以使用的,所以在使用结束之后有可能其它的Statement还需要连接,所以不能现关闭Connection。
图形演绎编写JDBC程序的一般过程: