首先导入oracle驱动包。驱动包一般在你安装的oracle里跟network同级的jdbc文件夹下的lib文件夹里面。复制过来就行。
1.导包
首先我们导入java.sql.*
import java.sql.*;
2.驱动注册
Class.forName("oracle.jdbc.driver.OracleDriver");
通过Class.forName(driver_name); 会执行driver_name路径下的类的static静态块一次。
3.驱动管理器根据注册驱动获取对应的连接。Java和oracle连接,获取连接对象
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String uname ="scott";
String pwd = "scott";
Connection con = DriverManager.getConnection(url,uname,pwd);
其中url 字符串为: jdbc:oracle:thin:@数据库服务器IP:数据库端口号:数据库实例名
数据库服务器IP本机的话可以写localhost
数据库实例名就类似于你登录PL/SQL时的Database 。
另外uname,pwd也是对应于PL/SQL登录界面的Username和Password
这个时候Java和数据库就连接成功了。
以下是完整代码:
import java.sql.*;
public class jdbctest {
public static void main(String[]args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String uname ="scott";
String pwd = "scott";
Connection con = DriverManager.getConnection(url,uname,pwd);
System.out.println(con.getClass().getName());
}
}
他会输出:oracle.jdbc.driver.T4CConnection
下面示范一个简单的查询操作。
我们输出select ename,sal from emp 的结果;
4.通过连接对象获取语句对象。此处为了简单,会出现SQL注入问题,后续会通过Statement的子类PreparedStatement解决.
Statement stmt = con.createStatement();
5.通过语句对象获取结果集对象。并将sql语句传入。查询会把查询出来的数据放在ResultSet结果集对象中。
String sql = "select ename,sal from emp";
ResultSet rs = stmt.executeQuery(sql);
6.遍历结果集并输出值。
while(rs.next()) {
System.out.println("姓名:"+rs.getObject("ename")+","+"薪资:"+rs.getObject("sal"));
}
7.最后我们要关闭连接对象,语句对象,结果集对象。
con.close();
stmt.close();
rs.close();
查询结果就输出到通知台上了。
以下是完整代码:
import java.sql.*;
public class jdbctest {
public static void main(String[]args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String uname ="scott";
String pwd = "a";
Connection con = DriverManager.getConnection(url,uname,pwd);
System.out.println(con.getClass().getName());
Statement stmt = con.createStatement();
String sql = "select ename,sal from emp";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println("姓名:"+rs.getObject("ename")+","+"薪资:"+rs.getObject("sal"));
}
con.close();
stmt.close();
rs.close();
}
}
更多推荐
Java如何连接Oracle数据库
发布评论