Java小强个人技术博客站点    手机版
当前位置: 首页 >> Java >> JDBC链接Oracle参考代码

JDBC链接Oracle参考代码

80740 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

猜你喜欢

发表评论: