• JDBC数据库编程


    package com.neusoft.utils;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    public class JdbcOracleTest {

     /**
      * @param args
      */

     public static void main(String[] args) {

      // 2.建立同数据库的连接
      // url:统一资源定位符
      String url = "jdbc:oracle:thin:@10.25.85.247:1521:orcl";
      String user = "scott";
      String password = "tiger";
      Connection con = null;
      Statement st = null;
      String sql = "select * from DEPT";
      String sql1 = "delete from USERTEST";
      ResultSet rs = null;
      PreparedStatement pst = null;
      // 1.加载驱动
      try {
       Class.forName("oracle.jdbc.driver.OracleDriver");
       con = DriverManager.getConnection(url, user, password);
       System.out.println("数据库连接成功!");
       // 取消自动提交事务
       con.setAutoCommit(false);

       // 3.取得statement对象
       st = con.createStatement();
       // 4.发送statement到oracle中,并且查询表
       rs = st.executeQuery(sql);
       // 5.取出结果集中的数据
       while (rs.next()) {
        System.out.println("*************************");
        String deptno = rs.getString(1);
        System.out.println(deptno);
        String dname = rs.getString(2);
        System.out.println(dname);
        String loc = rs.getString(3);
        System.out.println(loc);
        System.out.println("*************************");
       }
       // 6.删除数据
       // int i = st.executeUpdate(sql1);
       // System.out.println("删除的记录的条数:"+i);

       // 7.高级-->?占位符
       pst = con.prepareStatement("insert into USERTEST values(?,?,?)");
       // 给占位符赋值-->通过serXxx()方法
       pst.setString(1, "5");
       pst.setString(2, "u5");
       pst.setString(3, "p5");
       int i = pst.executeUpdate();
       System.out.println("插入的记录的条数:" + i);
       //事务处理-->提交
       con.commit();

      } catch (ClassNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
       try {
        //事务处理-->回滚
        con.rollback();
       } catch (SQLException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
       }
      }

      // 6.关闭资源
      try {
       if (rs != null) {
        rs.close();
       }

      } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      try {
       if (st != null) {
        st.close();
       }
      } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

      try {
       if (pst != null) {
        pst.close();
       }
      } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

      try {
       if (con != null) {
        con.close();
       }
      } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
     }

    }

  • 相关阅读:
    01Tensorflow学习之Tensorflow基本介绍
    C#四舍五入说明
    3类与对象——重拾Java
    1Java语言概述——重拾Java
    Android 字体效果
    Python相关资料收集
    2013.11.23思科研发中心面试
    【转】理解同步与异步
    OpenCV中的SURF算法介绍
    OpenCV中Kinect的使用(3)
  • 原文地址:https://www.cnblogs.com/zhangdashuai/p/3702171.html
Copyright © 2020-2023  润新知