1. 程式人生 > 其它 >Java操作Oracle並實現增刪改查

Java操作Oracle並實現增刪改查

由於Oracle授權問題,Maven3不提供Oracle JDBC driver,需要手動新增 (具體方法在上面的隨筆中有詳細說明)

直接上程式碼

OracleUtil 連線類

package com.JavaOracle;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class OracleUtil {
    //資料庫連線地址
    private static String url="jdbc:oracle:thin:@192.168.1.180:1521:orcl";
    
//使用者名稱 private static String username= "sys as sysdba"; //密碼 private static String password ="admindljjk"; //驅動名稱 private static String jdbcName = "oracle.jdbc.OracleDriver"; /*獲取資料庫連線 */ public static Connection getCon(){ try { Class.forName(jdbcName); }
catch (ClassNotFoundException e) { e.printStackTrace(); } Connection con = null; try { con = DriverManager.getConnection(url,username,password); } catch (SQLException e) { e.printStackTrace(); } return con; }
/*關閉資料庫連線*/ public static void closeCon(Connection con) throws SQLException { if (con != null) con.close(); } /* public static void main(String[] args){ try { getCon(); System.out.println("資料庫連線成功"); } catch (Exception e) { e.printStackTrace(); System.out.println("資料庫連線失敗"); } } */ }

OracleDemo 具體業務增刪改查類

package com.JavaOracle;

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

public class OracleDemo {

    //連線物件
    Connection connection=null;
    //建立預編譯物件
    PreparedStatement ps=null;
    //建立結果集
    ResultSet rs = null;

    /*插入*/
    public int insert(){
        int result = 0;
        connection = OracleUtil.getCon();
        String sql = "insert into CTI_AGENT_WORK_REST ";
        sql=sql+" (ID,AGENT_NAME,DATE_TIME,STATUS) ";
        sql=sql+" values(?,?,?,? )";
        try {
            ps = connection.prepareStatement(sql);
            ps.setInt(1,2323232);
            ps.setString(2,"老劉");
            ps.setString(3,"2021-07-26 15:51:12");
            ps.setString(4,"Rest");

            result = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                OracleUtil.closeCon(connection);
            }catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return result;
    }
    /*查詢*/
    public void select(){
        connection = OracleUtil.getCon();
        String sql = "select * from CTI_AGENT_WORK_REST";
        try {
            ps = connection.prepareStatement(sql);
            rs = ps.executeQuery();
            while (rs.next()){
                int id = rs.getInt(1);
                String AGENT_NAME = rs.getString(2);
                String DATE_TIME = rs.getString(3);
                String STATUS= rs.getString(4);
                System.out.println("ID:"+id + " AGENT_NAME:"+AGENT_NAME+" DATE_TIME:"+DATE_TIME+" STATUS:"+STATUS);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                OracleUtil.closeCon(connection);
            }catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    /*修改*/
    public int update(){
        connection = OracleUtil.getCon();
        String sql = "update student set name = ?,gender = ? where id = ?";
        int result = 0;
        try {
            ps = connection.prepareStatement(sql);
            ps.setString(1,"老張");
            ps.setString(2,"男");
            ps.setInt(3,2);
            result = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                OracleUtil.closeCon(connection);
            }catch (SQLException e) {
                e.printStackTrace();
            }
        }

        return result;

    }

    /*刪除 */
    public int delete(){
        int result = 0;
        connection = OracleUtil.getCon();
        String sql = "delete from student where id = ?";
        try {
            ps = connection.prepareStatement(sql);
            ps.setInt(1,1);
            result = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                OracleUtil.closeCon(connection);
            }catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return result;
    }

    /*
    public static void main(String[] args){
        OracleDemo od = new OracleDemo();
        //int add = od.add();
        System.out.println(add);
        od.select();
//        System.out.println(od.delete());
    }*/

}
主函式
public static void main( String[] args )
 {
        System.out.println( "Hello JavaOracle !" );

        OracleDemo myDB = new OracleDemo();
        int result = myDB.insert();
        System.out.println("insert 結果: "+result);
        myDB.select();
        //System.out.println(myDB.delete());
 }