java实现oracle数据库基本操作

说明:URL可以连接多个地址,如下:

jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT =1521))(LOAD_BALANCE = yes)(CONNECT_DATA =  (SERVER =DEDICATED)(SERVICE_NAME = zhapp)))

package db;

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

public class BaseDaoDemo {
  public static String URL = "jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))(LOAD_BALANCE = yes)           (CONNECT_DATA = (SERVER =DEDICATED)(SERVICE_NAME = zhlog)))";
  public static String USERNAME="数据库用户名";
  public static String PASSWORD="数据库密码";
  public String DRIVER="oracle.jdbc.OracleDriver";
  public Connection conn;
  public static PreparedStatement ps;
  public static ResultSet rs;
  public static String sql;

  public static void main(String[] args) {
  BaseDaoDemo basedao = new BaseDaoDemo();
    Connection conn = basedao.getConnection();
    basedao.add(conn);
    basedao.update(conn);
    basedao.query(conn);
    basedao.delete(conn);
    basedao.close();
  }

  //连接数据库方法
  public Connection getConnection() {
  try {
    Class.forName(DRIVER);//初始化驱动包
    System.out.println("开始尝试连接数据库");
    conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);
    System.out.println("连接数据库成功");
  } catch (Exception e) {
    e.printStackTrace();
  }
    return conn;
  }

  //查询函数
  public void query(Connection conn) {
  sql="select * from T_BMP_ACCOUNT";
  try {
    ps=conn.prepareStatement(sql);
    rs=ps.executeQuery();
    while(rs.next()) {
    System.out.println("ID:"+rs.getString(1)+" TYPE:"+rs.getString(2)+" ACCOUNT_NAME:"+rs.getString(3));
    }
  } catch (Exception e) {
    e.printStackTrace();
    }
  }

  //添加表数据
  public void add(Connection conn) {
  sql="insert into T_BMP_ACCOUNT(ID, TYPE, ACCOUNT_NAME, PASSWORD, NAME, CONTENT, STATUS, CREATE_TIME, "
+ "PROVINCE, CITY, CREDITCODE, STATUSDES, UPDATE_TIME, TOPIC_TYPE, RESOURCE_ID, PHONE_NO, TOP, "
+ "REGISTRATION_NUMBER, COMPANY_TYPE, CORPORATE_NAME, REGISTERED_PROVINCE, REGISTERED_CAPITAL, "
+ "TAX_REGISTRATION_NO, LEGAL_REPRESENTATIVE, COMPANY_ADDRESS)"
+ " values ('1195182306843688960', '2', '16200000000', 'wxn123', '', '', '2', "
+ "to_date('15-11-2019 11:30:42', 'dd-mm-yyyy hh24:mi:ss'), '', '', '', '', null, '', '', '16200000000',"
+ " '', '', '', '', '', '', '', '', '')";
  try {
    ps=conn.prepareStatement(sql);
    ps.executeUpdate();
    System.out.println("数据添加成功");
  } catch (Exception e) {
    e.printStackTrace();
    }
  }

  //修改表数据
  public void update(Connection conn) {
  sql="update T_BMP_ACCOUNT set ACCOUNT_NAME='16200000001' where ID='1195182306843688960'";
  try {
    ps=conn.prepareStatement(sql);
    ps.executeUpdate();
    System.out.println("数据更新成功");
  } catch (Exception e) {
    e.printStackTrace();
    }
  }

  //删除表数据
  public void delete(Connection conn) {
  sql="delete from T_BMP_ACCOUNT where ID='1195182306843688960'";
  try {
    ps=conn.prepareStatement(sql);
    ps.executeUpdate();
    System.out.println("数据删除成功");
  } catch (Exception e) {
    e.printStackTrace();
    }
  }

  //释放资源
  public void close() {
  try {
    try {
      if (rs != null) {
        rs.close(); // 关闭ResultSet对象
      }
    } finally {
      try {
        if (ps != null) {
          ps.close(); // 关闭PreparedStatement对象
        }
      } finally {
        if (conn != null) {
          conn.close(); // 关闭Connection对象
        }
      }
    }
  } catch (Exception e) {
    e.printStackTrace(System.err); // 输出异常信息
    }
  }
}

原文地址:https://www.cnblogs.com/xiule/p/11868822.html