JDBC连接Oracle高级详细攻略 (存储过程 元数据 事务 批处理)

  1. Jdbc实现增删改查操作步骤 (java database connection )
  1. 引入jar包

  1. 准备sql语句

     String sql=”select|insert|update|delete”;

  1. 加载jdbc驱动类

     Class.forName(oracleClass);

     oracleClass=”oracle.jdbc.Driver.OracleDriver”;

  1. 创建连接对象,与数据库建立连接

     Connection conn=DriverManager.getConnection(url,uname,pwd);

      url=”jdbc:oracle:thin:@localhost:1521:orcl”;

      uname=”scott”;

      pwd=”tiger”;

  1. 创建命令对象,发送sql语句
     PreparedStatement psmt=conn.prepareStatement(sql);
      //如果sql有占位符?,设置占位符的值
      psmt.setXXX(下标,值);
  1. 执行sql语句,并返回结果

   如果增,删,改sql语句,返回受影响的行数

     int row=psmt.executeUpdate();

  如果查询sql语句,返回查询结果集

   ResultSet rs=psmt.executeQuery();

  1. 释放资源

      rs.close();  psmt.close();  conn.close();

  1. 元数据   ResultSetMetaData

   数据中的数据

   ResultSet返回查询的结果集数据,如果希望从结果集中获取总列数,

以及每列的列名,列类型,需要使用元数据。

    1. 获取元数据对象

ResultSetMetaData rsmd=rs.getMetaData();

    1. 获取总列数

      int getColumnCount();

    1. 获取列名

      String getColumnName(int column);

    1. 获取列数据类型

      String getColumnTypeName(int column);

  1. 调用存储过程

3.1存储过程sql语句需要转义

      String  sql=”{call  存储过程名(?,?...)}”;

   3.2 创建存储过程命令对象CallableStatement

      CallableStatement cs=conn.prepareCall(sql);

   3.3  如果占位符是in输入参数,设置值

       cs.setXXX(下标,值);

   3.4  如果占位符是out输出参数,注册输出参数类型

       cs.registerOutParameter(下标, Types.数据类型);

   3.5  执行存储过程

       cs.execute();

   3.6  获取输出参数的值

       cs.getXXX(下标);

  1. 事务

  4.1 设置连接对象提交方式为手动提交

      conn.setAutoCommit(false);

  4.2 提交

      conn.commit();

4.3回滚

     conn.rollback();

  1. 批处理

   作用: 批量数据操作,提高效率

5.1添加批处理

       psmt.addBatch();

5.2 执行批处理

       psmt.executeBatch();

    5.3 清除批处理

       psmt.clearBatch();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值