java中的JDBC纯驱动方式连接Oracle数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java中的JDBC纯驱动方式连接Oracle数据库
一、下载数据库厂商提供的驱动程序包
二、将驱动程序包引入工程中,步骤如下
1、选中项目——单击右键——Build Path——Configure Build Path
2、在打开的构建路径对话框中,点击Libraries选项卡,然后点击Add External JARs…按钮
3、选择ojdbc6.jar,然后点击“打开”
4、可以看到驱动文件已经被添加到项目的库文件中,点击OK,添加驱动结束。
三、编程,通过纯Java驱动方式与数据库建立连接。
关键代码:jdbc:oracle:thin:@ip地址:监听端口:数据库sid
具体步骤如下:
1、导入数据库连接所需的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
2、定义连接所需的字符串
String driver="oracle.jdbc.OracleDriver";//驱动字符串
String url="jdbc:oracle:thin:@localhost:1521:orcl11g";//链接字符串String user="scott";//用户名
String password="tiger";//密码
3.加载JDBC驱动程序
Class.forName(driver);
4、分配一个Connection对象
Connection con=DriverManager.getConnection(url, user, password);完成以上步骤即可连接上数据库,为下一步操作数据库做好准备
5、分配一个PreparedStatement对象,执行查询SQL(DQL)语句
String sql="select * from emp";
PreparedStatement pstm=con.prepareStatement(sql);
6从返回的ResultSet对象中检索数据,类似迭代器
ResultSet rs=null;
rs =pstm.executeQuery();
while(rs.next())
{
int empno=rs.getInt("empno");
String ename=rs.getString("ename");
double sal=rs.getDouble("sal");
Date hiredate=rs.getDate("hiredate");
int deptno=rs.getInt("deptno");
System.out.println(empno+"\t"+ename+"\t"+sal+"\t"+hiredate);
}
7.按顺序依次关闭ResultSet对象,关闭PreparedStatement对象,关闭Connection对象
整理好所有源码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.util.Date;
public class Jdbctest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String driver = "oracle.jdbc.OracleDriver";// 驱动字符串
String url = "jdbc:oracle:thin:@localhost:1521:orcl11g";// 链接字符串
String user = "scott";// 用户名
String password = "tiger";// 密码
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
boolean flag=false;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "select * from emp";
pstm = con.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
int empno = rs.getInt("empno");
String ename = rs.getString("ename");
double sal = rs.getDouble("sal");
Date hiredate = rs.getDate("hiredate");
int deptno = rs.getInt("deptno");
System.out.println(empno + "\t" + ename + "\t" + sal + "\t"
+ hiredate);
}
flag=true;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭执行通道
if(pstm!=null){
try {
pstm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}