连接数据库的基础类BaseDao.java

package cn.adcc.Dao;

/**
 * Created by Administrator on 2017/10/31.
 */
import util.ConfigManager;

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




/*数据库操作基类*/
public class BaseDao {
    Connection connection = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;

    //获取数据库连接
    public boolean getConnection() {
        try {
//       加载不同数据库厂商提供的驱动
            Class.forName(ConfigManager.getInstance().getString("jdbc.driver"));
//       (1)铺路(获取连接Connection)
            String url = ConfigManager.getInstance().getString("jdbc.connection.url");
            String username = ConfigManager.getInstance().getString("jdbc.connection.username");
            String password = ConfigManager.getInstance().getString("jdbc.connection.password");
            connection = DriverManager.getConnection(url, username, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return false;
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }
    // 增删改
    public int executeUpdate(String sql,Object[] params){
        int updateRows = 0;
        if(this.getConnection()){
            try {
                pstmt = connection.prepareStatement(sql);
                //填充占位符
                for(int i= 0;i<params.length;i++){
                    pstmt.setObject(i+1, params[i]);
                }
                updateRows = pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
        return updateRows;
    }
    //查
    public ResultSet executeSQL(String sql,Object[] params){
        if(this.getConnection()){
            try {
                pstmt = connection.prepareStatement(sql);
                //填充占位符
                for(int i= 0;i<params.length;i++){
                    pstmt.setObject(i+1, params[i]);
                }
                rs = pstmt.executeQuery();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return rs;
    }

    // 释放资源(注意释放资源的顺序)
    public boolean closeResource(){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
                return false;
            }
        }
        if(pstmt!=null){
            try {
                pstmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
                return false;
            }
        }
        if(connection!=null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
                return false;
            }
        }
        return true;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值