java簡單封裝mysql操作 ------ java開發日常

源碼:
package com;

import model.Admin;

import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DbTool {
    private String dbConnect = "com.mysql.jdbc.Driver";
    private String dbUrl = "localhost";
    private String dbPort = "3306";
    private String dbName = "db_java";
    private String dbUsername = "root";
    private String dbPassword = "123456";

    private static Connection conn;  // 數據庫連接對象
    private static Statement stmt;   // 數據庫操作把柄對象

    /**
     * 數據庫連接操作
     * @return Boolean
     */
    public Connection connect(){
        String DB_URL = "jdbc:mysql://"+this.dbUrl+":"+this.dbPort+"/"+this.dbName;
        try{
            // 註冊 JDBC 驅動
            Class.forName(this.dbConnect);
            // 打開鏈接
            conn = DriverManager.getConnection(DB_URL, dbUsername, dbPassword);
            stmt = conn.createStatement();
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }
        return conn;
    }

    /**
     * 查詢所有用戶
     * @return
     */
    public List<Admin> selectAll(){
        Connection con = this.connect();
        String sql = "select * from `admin`";
        List<Admin> list = new ArrayList<Admin>();
        try{
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while(rs.next()){
                Admin admin = new Admin();
                admin.setUsername(rs.getString("username"));
                admin.setPassword(rs.getString("password"));
                admin.setEmail(rs.getString("email"));
                admin.setTel(rs.getString("tel"));
                admin.setTime(rs.getTimestamp("time").toString());

                list.add(admin);
            }
        }catch (SQLException e){
        } catch (NullPointerException e){
        }finally {
            try {con.close();}catch (SQLException e){ }
            try {stmt.close();}catch (SQLException e){ }
        }
        return list;
    }

    /**
     * 數據添加
     * @param user
     * @return Boolean
     */
    public Boolean add(Admin user){
        String sql = "INSERT INTO `admin`\n" +
                     "(username, `password`, email, tel, time)\n" +
                     "VALUES\n" +
                     "(?,?,?,?,?)";
        Connection con = this.connect();
        PreparedStatement pstmt = null;

        try {
            pstmt = con.prepareStatement(sql);
            pstmt.setString(1, user.getUsername());
            pstmt.setString(2, user.getPassword());
            pstmt.setString(3, user.getEmail());
            pstmt.setString(4, user.getTel());
            pstmt.setTimestamp(5, new Timestamp(new Date().getTime()));
            int bool = pstmt.executeUpdate();
            if(bool == 1){
                return true;
            }else{
                return false;
            }
        }catch(SQLException e) {
            e.printStackTrace();
            return false;
        }finally {
            try {con.close();}catch (SQLException e){ }
            try { pstmt.close(); }catch (SQLException e){ }
        }
    }

    /**
     * 根據鍵值匹配查詢
     * @param key
     * @param value
     * @return admin
     */
    public Admin selectOfkeyAndValue(String key, String value){
        Admin admin = null;
        Connection con = this.connect();
        String sql = "select * from `admin` where "+key+" = '"+value+"'";
        try{
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while(rs.next()){
                admin = new Admin();
                admin.setUsername(rs.getString("username"));
                admin.setPassword(rs.getString("password"));
                admin.setEmail(rs.getString("email"));
                admin.setTel(rs.getString("tel"));
                admin.setTime(rs.getTimestamp("time").toString());
            }
            return admin;
        }catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {con.close();}catch (SQLException e){ }
            try {stmt.close();}catch (SQLException e){ }
        }
        return null;
    }


//    public static void main(String[] args) {
//        DbHandle db = new DbHandle();
//        Admin t1 = db.selectOfkeyAndValue("username", "admin");
//        System.out.println(t1.toString());
//    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章