手机端小强原创文章,java小强个人博客站点
当前位置: 首页 >> java >> JDBC链接Oracle参考代码

JDBC链接Oracle参考代码

23610 java | 2014-6-17
package com.gr.util;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Types;
public class ConnectionManager {
 public static void main(String[] args) {
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   String url = "jdbc:oracle:thin:@localhost:1521:cui";
   Connection conn = DriverManager.getConnection(url, "cui", "cui");
   System.out.println("链接成功:" + conn.toString());
   conn.setAutoCommit(true); // 设置自动提交
   // 调用带参数有返回值的存储过程
   // 注意这里参数的位置和类型必须和存储过程里定义的一致,输出参数进行注册,而输入参数进行赋值
   CallableStatement cstmp = conn
     .prepareCall("{call insert_class(?,?)}");
   cstmp.registerOutParameter(1, Types.INTEGER);
   cstmp.setString(2, "存储过程组");
   cstmp.execute();
   // 没有返回值
   // cstmp.executeUpdate();
   int newId = cstmp.getInt(1);
   System.out.println(newId);
   // 查询,带有分页语句
   String sql_select = "SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM classes) A WHERE ROWNUM <= ?)WHERE RN >= ?";
   PreparedStatement pstmt_sel = conn.prepareStatement(sql_select);
   pstmt_sel.setInt(1, 4);
   pstmt_sel.setInt(2, 3);
   ResultSet rs = pstmt_sel.executeQuery();
   while (rs.next()) {
    System.out.println(rs.getInt("id") + " "
      + rs.getString("classname"));
   }
   // 增加
   String sql_insert = "insert into classes values(class_seq.nextval,?)";
   PreparedStatement pstmt_add = conn.prepareStatement(sql_insert);
   pstmt_add.setString(1, "JDBC测试");
   int result_insert = pstmt_add.executeUpdate();
   System.out.println(result_insert);
   // 删除
   String sql_delete = "delete from classes where id=?";
   PreparedStatement pstmt_del = conn.prepareStatement(sql_delete);
   pstmt_del.setInt(1, 6);
   int result_delete = pstmt_del.executeUpdate();
   System.out.println(result_delete);
   // 修改
   String sql_update = "update classes set classname=? where id=?";
   PreparedStatement pstmt_mod = conn.prepareStatement(sql_update);
   pstmt_mod.setString(1, "FBI组");
   pstmt_mod.setInt(2, 7);
   int result_update = pstmt_mod.executeUpdate();
   System.out.println(result_update);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

 

以上代码仅供参考

 

推荐您阅读更多有关于“ jdbc oracle sql 访问 存储过程 ”的文章

上一篇:Js也导出Excel 下一篇:JavaMail 553 You are not authorized to send mail

猜你喜欢

发表评论:

个人资料
blogger

java小强
没有思考,人生的路会越走越难!

搜索
分类
最新微语
  • 今日北京再次沙尘暴来袭,吃了几年细粮,终于能来口粗粮了,不过大早上看见这场景,还是吓我一跳,不过随后就平静了,毕竟是老朋友了。进公司又发现一股烤糊的味道,真是祸不单行啊,例外都是污染。发了两个口罩,开启保护模式。

    2017-05-04 10:16

  • 今天同学问我,最近还在写代码吗?我想了想,这个问题怎么回答呢,我好像确实很长时间,虽然写了一些,但是主要内容已经不是写代码了。然后再想想,自己也7年多了,这么多年了,我收获了什么,我的目标到底是什么。眼看就奔三了,人生啊,开启感叹模式。

    2017-03-30 22:52

  • 也许大家都已经注意到了,今年的房价,好多地方都是翻了一番,跟着就是,各地房东开始变相涨租。今年之所以搬走,就是为此,这两天同学也是如此。很多房东只认钱,别谈感情,伤钱。而对于这个城市来说,你怎么定位自己,你真把自己当成她的一份子?你来此为何?将来何去何从?自己掂量清楚。

    2016-12-05 10:03

  • 为什么一直不写了呢?因为当爸爸了,没空了。今年的冬天,有些寒冷,除了这寒冬带来的不适,更有因乐视公司遇到危机,而带来的同事别离。送别同事,看着空旷的工位,心中有些悲凉。临近年关,此时此刻,该怎么做,似乎不再是脑子一热那么简单了。

    2016-11-24 11:28

  • 已经请假,加上国庆,要很长一段时间不在北京了。919加班,搞的现在有点心累,胸闷,身体不适。看来,我要好好休息一下了。这几天有些冷,2016的冬天,一步步来了,各位亲友,记得添衣加粗啊。

    2016-09-23 17:29

  • 更多»

最新文章
热门文章
随机文章