Java jdbc 数据库操作类,依据别人更改的,有更好的办法,欢迎高手指正

package com.AppCount.DBClass;

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

public class DB {
    private String className; // 驱动名
    private String url; // 连接数据库的URL地址
    private String username; // 数据库的用户名
    private String password; // 数据库的密码
    private Connection con; // 数据库连接对象
    private PreparedStatement pstm; // 数据库预编译处理对象

    public DB() {
        className = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        url = "jdbc:sqlserver://HFP-20170511NJC:1433;databasename=portData";
        username = "sa";
        password = "1234567";
        try {
            Class.forName(className);
        } catch (ClassNotFoundException e) {
            System.out.println("加载数据库驱动程序失败!");
            e.printStackTrace();
        }
    }

    public void getCon() {
        try {
            con = DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            System.out.println("获取数据库连接失败!");
            e.printStackTrace();
        }
    }

    // 对象数组。如:String[] obj = new String[]{"宾桀锋","201321173083"};
    public void doPstm(String sql, Object[] params) {
        if (sql != null && !sql.equals("")) {
            System.out.println(sql);
            if (con == null)
                getCon();
            try {
                pstm = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                if (params == null) {
                    params = new Object[0];
                }
                for (int i = 0; i < params.length; i++) {
                    pstm.setObject(i + 1, params[i]);
                }
                pstm.execute();
            } catch (SQLException e) {
                System.out.println("调用DB类中doPstm方法时出错!");
                e.printStackTrace();
            }
        }
    }

    public ResultSet getRs() {
        try {
            return pstm.getResultSet();
        } catch (SQLException e) {
            System.out.println("DB类中的getRs()方法出错!");
            e.printStackTrace();
            return null;
        }
    }

    public int getUpdate() {
        try {
            return pstm.getUpdateCount();
        } catch (SQLException e) {
            e.printStackTrace();
            return -1;
        }
    }
    public ResultSet ExecuteResultSet(String sql, Object[] params) {
        if (sql != null && !sql.equals("")) {
            System.out.println(sql);
            if (con == null)
                getCon();
            try {
                pstm = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                if (params == null) {
                    params = new Object[0];
                }
                for (int i = 0; i < params.length; i++) {
                    pstm.setObject(i + 1, params[i]);
                }
                return pstm.executeQuery();
            } catch (SQLException e) {
                System.out.println("调用DB类中ExecuteNonQuery方法时出错!");
                e.printStackTrace();
                return null;
            }
        } else {
            return null;
        }
    }
    public int ExecuteNonQuery(String sql, Object[] params) {
        if (sql != null && !sql.equals("")) {
            System.out.println(sql);
            if (con == null)
                getCon();
            try {
                pstm = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                if (params == null) {
                    params = new Object[0];
                }
                for (int i = 0; i < params.length; i++) {
                    pstm.setObject(i + 1, params[i]);
                }
                return pstm.executeUpdate();
            } catch (SQLException e) {
                System.out.println("调用DB类中ExecuteNonQuery方法时出错!");
                e.printStackTrace();
                return -1;
            }
        } else {
            return -1;
        }
    }

    public void closed() {
        try {
            if (pstm != null)
                pstm.close();
        } catch (Exception e) {
            System.out.println("关闭pstm对象失败!");
        }
        try {
            if (con != null)
                con.close();
        } catch (Exception e) {
            System.out.println("关闭con对象失败!");
        }
    }

}
// 调用
    
        String sql = "select * from user_test";
        Object params[] =null;

       DB db1 = new DB();

 

try {
            ResultSet rs = db1.ExecuteResultSet(sql, params);
            while (rs.next()) {
                // do something;
                System.out.print(rs.getString(2) + " ");
            }
            rs.close();
        } catch (SQLException e) {

            e.printStackTrace();
        }

调用 2 

    int user_id = 15565;
        String sql = "select * from user_test where user_id=?";
        Object params[] = { user_id };

try {
            ResultSet rs = db1.ExecuteResultSet(sql, params);
            while (rs.next()) {
                // do something;
                System.out.print(rs.getString(2) + " ");
            }
            rs.close();
        } catch (SQLException e) {

            e.printStackTrace();
        }

调用 3  增加数据

int user_id=453434;
        String user_name="try 中的语句";
        String created_time="2019-06-20 15:34:20";
        String sqlin = "insert into user_test(user_id,user_name,created_time) values(?,?,?)";   
        Object params1[] = { user_id, user_name,created_time};    
        DB db1 = new DB();

int k =db1.ExecuteNonQuery(sqlin, params1);

 

 

写的不好的地方欢迎大能指正,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值