java数据库连接类,已经把数据库操作的方法都封装好了

  在这里分享一个已经封装好了的java数据库连接类,只要创建对象就可以实现数据库的增删改查操作,用过都说好。其实这个不是我自己写的,是一个理解和学习能力超高的朋友写的,他也很乐于分享交流,本人也深受他的影响和帮助。

  不说了,直接上代码。

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.mysql.jdbc.Driver";
        url="jdbc:mysql://localhost:3306/test";
        username="root";
        password="201321173083";
        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 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对象失败!");
        }
    }
    

}

有问题或不懂的请联系QQ:409169399。备注一下哦,要不然不加陌生人。

posted @ 2016-04-17 22:11  Sky.宾桀锋  阅读(6938)  评论(1编辑  收藏  举报