连接步骤
1,注册驱动
1DriverManager.registerDriver(neworacle.jdbc.OracleDriver());
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
2,获取连接
2Connection conn =null;
3conn = DriverManager.getConnection(url, user, password);
Connection conn = null;
conn = DriverManager.getConnection(url, user, password);
3,设置语句
1)简单语句
4String sql = "SELECT * FROM *****";
String sql = "SELECT * FROM *****";
2)存储过程
5String sql = "{call Procedure_name(?,?,?)}"
String sql = "{call Procedure_name(?,?,?)}"
注:若有参数,需要使用“?”占位符
3)函数语句
6String sql= "SELECT MAX(COL_NAME) FROM T_NAME"
String sql= "SELECT MAX(COL_NAME) FROM T_NAME"
同简单语句的使用。注:这里可以为使用函数的列起个名字,在sql语句中可以直接跟在函数后面。不用加引号,所以也不会引起符号冲突。 如:
7String sql= "SELECT MAX(COL_NAME) 最大结果FROM T_NAME"
String sql= "SELECT MAX(COL_NAME) 最大结果FROM T_NAME"
4,执行语句
1)有返回结果的操作
8ResultSet res =null;
9Statement stat =null;
10res = stat.executeQuery(sql);
ResultSet res = null;
Statement stat = null;
res = stat.executeQuery(sql);
2)增删改无返回结果的操作
11Statement stat =null;
12inti = stat.executeUpdate(sql);
Statement stat = null;
int i = stat.executeUpdate(sql);
5,返回结果
1)查询语句的结果
ResultSet返回的是类似数据库中的表。对表中数据分析即可
2)执行非查询语句返回的结果
executeUpdate()方法返回的结果是个int类型的,返回执行结果受影响的条数。
连接问题
上述步骤连接Oracle10g数据库不会出现问题。如果是连接Oracle11g就会出现问题。
错误信息:Unhandled exception type SQLException
问题原因就是Oracle11g软件更新了连接方法。url中在Oracle 10g中是localhost,11g中本地连接要用计算机名称。
Oracle 10 g URL代码(本地):
13jdbc:oracle:thin:@localhost:1521:oracle_name
jdbc:oracle:thin:@localhost:1521:oracle_name
Oracle 11g URL代码(本地):
14jdbc:oracle:thin:@pc_name:1521:oracle_name
jdbc:oracle:thin:@pc_name:1521:oracle_name