如何利用JDBC连接并操作Oracle数据库

 我来答
zyxzyx16688
高粉答主

2017-10-28 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:3.4万
采纳率:65%
帮助的人:1956万
展开全部
  • S1、下载ojdbc14.jar驱动文件,并将该文件放到你的项目中去;   

  • S2、在MyEclipse中的项目中添加Oracle驱动程序:在项目名上右键-> Build Path ->Add External Archiver然后选择你刚才放在项目中的文件, 点确定即可。  

  • S3、打开Oracle的各项服务,并在Oracle中建一张表。  

  • S4、编写MyEclipse与Oracle的连接程序:  

  • [cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">import java.sql.Connection;    

  • import java.sql.DriverManager;    

  • import java.sql.PreparedStatement;    

  • import java.sql.ResultSet;    

  • import java.sql.Statement;    

  • import java.sql.* ;    

  • public class JDBC_Test {    

  • //orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库     

  • //1521为连接的端口号     

  • private static String url="jdbc:oracle:thin:@localhost:1521:orcl";    

  • //system为登陆oracle数据库的用户名     

  • private static String user="system";    

  • //manager为用户名system的密码     

  • private static String password="manager";    

  • public static Connection conn;    

  • public static PreparedStatement ps;    

  • public static ResultSet rs;    

  • public static Statement st ;    

  • //连接数据库的方法     

  • public void getConnection(){    

  • try {    

  • //初始化驱动包     

  • Class.forName("oracle.jdbc.driver.OracleDriver");    

  • //根据数据库连接字符,名称,密码给conn赋值     

  • conn=DriverManager.getConnection(url, user, password);    

  • } catch (Exception e) {    

  • // TODO: handle exception     

  • e.printStackTrace();    

  • }    

  • }    

  • //测试能否与oracle数据库连接成功     

  • public static void main(String[] args) {    

  • JDBC_Test basedao=new JDBC_Test();    

  • basedao.getConnection();    

  • if(conn==null){    

  • System.out.println("与oracle数据库连接失败!");    

  • }else{    

  • System.out.println("与oracle数据库连接成功!");    

  • }    

  • }    

  • }    

  • </SPAN>    

  • import java.sql.Connection;  

  • import java.sql.DriverManager;  

  • import java.sql.PreparedStatement;  

  • import java.sql.ResultSet;  

  • import java.sql.Statement;  

  • import java.sql.* ;  

  • public class JDBC_Test {  

  • //orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库  

  • //1521为连接的端口号  

  • private static String url="jdbc:oracle:thin:@localhost:1521:orcl";  

  • //system为登陆oracle数据库的用户名  

  • private static String user="system";  

  • //manager为用户名system的密码  

  • private static String password="manager";  

  • public static Connection conn;  

  • public static PreparedStatement ps;  

  • public static ResultSet rs;  

  • public static Statement st ;  

  • //连接数据库的方法  

  • public void getConnection(){  

  • try {  

  • //初始化驱动包  

  • Class.forName("oracle.jdbc.driver.OracleDriver");  

  • //根据数据库连接字符,名称,密码给conn赋值  

  • conn=DriverManager.getConnection(url, user, password);  

  • } catch (Exception e) {  

  • // TODO: handle exception  

  • e.printStackTrace();  

  • }  

  • }  

  • //测试能否与oracle数据库连接成功  

  • public static void main(String[] args) {  

  • JDBC_Test basedao=new JDBC_Test();  

  • basedao.getConnection();  

  • if(conn==null){  

  • System.out.println("与oracle数据库连接失败!");  

  • }else{  

  • System.out.println("与oracle数据库连接成功!");  

  • }  

  • }  

  • }  

  • S5、如果上述的连接已经建立,就可以利用JDBC中的Java API对数据库进行操作了,具体的查询,插入,删除,更新操作如下:  

  • [cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">代码转载自:http://blog.csdn.net/cxwen78/article/details/6863696     

  • import java.sql.Connection;    

  • import java.sql.DriverManager;    

  • import java.sql.ResultSet;    

  • import java.sql.SQLException;    

  • import java.sql.Statement;    

  • public class JDBC_Test {    

  • // 创建静态全局变量     

  • static Connection conn;    

  • static Statement st;    

  • public static void main(String[] args) {    

  • insert();   //插入添加记录     

  • update();   //更新记录数据     

  • delete();   //删除记录     

  • query();    //查询记录并显示     

  • }    

  • /* 插入数据记录,并输出插入的数据记录数*/    

  • public static void insert() {    

  • conn = getConnection(); // 首先要获取连接,即连接到数据库     

  • try {    

  • String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"    

  • + " VALUES ('Tom1', 32, 'M', 'china','Personnel','3','3000')";  // 插入数据的sql语句     

  • st = (Statement) conn.createStatement();    // 创建用于执行静态sql语句的Statement对象     

  • int count = st.executeUpdate(sql);  // 执行插入操作的sql语句,并返回插入数据的个数     

  • System.out.println("向staff表中插入 " + count + " 条数据"); //输出插入操作的处理结果     

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("插入数据失败" + e.getMessage());    

  • }    

  • }    

  • /* 更新符合要求的记录,并返回更新的记录数目*/    

  • public static void update() {    

  • conn = getConnection(); //同样先要获取连接,即连接到数据库     

  • try {    

  • String sql = "update staff set wage='2200' where name = 'lucy'";// 更新数据的sql语句     

  • st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

  • int count = st.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数     

  • System.out.println("staff表中更新 " + count + " 条数据");      //输出更新操作的处理结果     

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("更新数据失败");    

  • }    

  • }    

  • /* 查询数据库,输出符合要求的记录的情况*/    

  • public static void query() {    

  • conn = getConnection(); //同样先要获取连接,即连接到数据库     

  • try {    

  • String sql = "select * from staff";     // 查询数据的sql语句     

  • st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

  • ResultSet rs = st.executeQuery(sql);    //执行sql查询语句,返回查询数据的结果集     

  • System.out.println("最后的查询结果为:");    

  • while (rs.next()) { // 判断是否还有下一个数据     

  • // 根据字段名获取相应的值     

  • String name = rs.getString("name");    

  • int age = rs.getInt("age");    

  • String sex = rs.getString("sex");    

  • String address = rs.getString("address");    

  • String depart = rs.getString("depart");    

  • String worklen = rs.getString("worklen");    

  • String wage = rs.getString("wage");    

  • //输出查到的记录的各个字段的值     

  • System.out.println(name + " " + age + " " + sex + " " + address    

  • + " " + depart + " " + worklen + " " + wage);    

  • }    

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("查询数据失败");    

  • }    

  • }    

  • /* 删除符合要求的记录,输出情况*/    

  • public static void delete() {    

  • conn = getConnection(); //同样先要获取连接,即连接到数据库     

  • try {    

  • String sql = "delete from staff  where name = 'lili'";// 删除数据的sql语句     

  • st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

  • int count = st.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量     

  • System.out.println("staff表中删除 " + count + " 条数据\n");    //输出删除操作的处理结果     

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("删除数据失败");    

  • }    

  • }    

  • /* 获取数据库连接的函数*/    

  • public static Connection getConnection() {    

  • Connection con = null;  //创建用于连接数据库的Connection对象     

  • try {    

  • Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动     

  • con = DriverManager.getConnection(    

  • "jdbc:mysql://localhost:3306/myuser", "root", "root");// 创建数据连接    

  • } catch (Exception e) {    

  • System.out.println("数据库连接失败" + e.getMessage());    

  • }    

  • return con; //返回所建立的数据库连接     

  • }    

  • }    

  • </SPAN>    

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式