學習筆記 一個串連oracle資料庫而後進行增刪改查的程式

來源:互聯網
上載者:User

DB.java

 

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

public class DB {
    private String sDBDriver = "oracle.jdbc.driver.OracleDriver";
    //private static String url = "jdbc:oracle:thin:@172.18.62.60:1521:orcl";
    private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
    private static String user = "resmg";
    private static String pwd = "resmg";
    private static Connection con = null;
    private static Statement stmt = null;

    public DB() {
        try {
            Class.forName(sDBDriver);
            getCon();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection getCon() {
          
        if (con == null) {
            try {
                con = DriverManager.getConnection(url, user, pwd);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return con;
    }

    public static Statement getStmt() {
        if (stmt == null) {
            try {
                stmt = con.createStatement();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return stmt;
    }
}
DBDao.java

 

    package com.services.mon.log;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class DBDao extends DB {
    private Statement stmt;

    public boolean insert(String table, HashMap<String, String> map,
            Connection con) {
        boolean flag = false;
        Iterator iter = map.entrySet().iterator();
        String skey = "";
        String sval = "";
        while (iter.hasNext()) {
            Map.Entry entry = (Map.Entry) iter.next();
            Object key = entry.getKey();
            Object val = entry.getValue();
            if (iter.hasNext()) {
                skey += key + ",";
                sval += "'" + val + "',";
            }
            if (!iter.hasNext()) {
                skey += (String) key;
                sval += "'" + val + "'";
            }
        }
        String sql = "insert into " + table + " (" + skey + ")values (" + sval
                + ")";
        System.out.println(sql);
        try {
            stmt = DB.getStmt();
            stmt.executeUpdate(sql);
            flag = true;
        } catch (SQLException e) {

            e.printStackTrace();
        }
        return flag;
    }
    public ResultSet query(String sql, Connection con, boolean flags) {
        ResultSet rs = null;
        try {
            stmt = DB.getStmt();
            rs = stmt.executeQuery(sql);
        } catch (SQLException e) {

            e.printStackTrace();
        }
        return rs;
    }
    public boolean update(String table, String condition,
            HashMap<String, String> map, Connection con) {
        boolean flag = false;
        Iterator iter = map.entrySet().iterator();
        String setC = "";
        while (iter.hasNext()) {
            Map.Entry entry = (Map.Entry) iter.next();
            Object key = entry.getKey();
            Object val = entry.getValue();
            if (iter.hasNext())
                setC += key + "='" + val + "', ";
            if (!iter.hasNext())
                setC += key + "='" + val + "' ";
        }
        String sql = "update " + table + " set " + setC + " where " + condition;
        System.out.println(sql);
        try {
            stmt = DB.getStmt();
            flag = stmt.executeUpdate(sql) > 0 ? true : false;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return flag;
    }
    public static void main(String[] agrs) {
        DBDao db = new DBDao();
        String sql = "select count(*) from tmon_catalog_log_info";
        ResultSet rs = db.query(sql, DB.getCon(), false);
        try {
            while (rs.next()) {
                System.out.println(rs.getString(1));
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.