cyoeki 2016-05-03 11:00 采纳率: 100%
浏览 1585
已采纳

使用C3P0出现错误…NullPointerException…

图片说明

测试的是fun1()方法

public void fun1(){
        User user = new User(4, "cyoeki2", "123", "xzs");
        addUser(user);
    }
    public void addUser(User user){
        QR qr = new QR(JdbcUtils.getDataSource());
        String sql = "insert into users values(?,?,?,?)";
        Object[] params ={user.getId(),user.getUsername(),user.getPassword(),user.getNickname()};
        qr.update(sql, params);
    }


    public class QR<T> {
    private DataSource dataSource;
    public QR() {
        super();
    }
    public QR(DataSource dataSource) {
        super();
        this.dataSource = dataSource;
    }
    public int update(String sql, Object...params){
        Connection con = null;
        PreparedStatement pstmt = null;
        try {
            con=dataSource.getConnection();
            pstmt = con.prepareStatement(sql);
            initParams(pstmt,params);
            return pstmt.executeUpdate();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }finally{
            try{
            if(pstmt!=null)pstmt.close();
            if(con!=null)con.close();;
            }catch(SQLException e){
                throw new RuntimeException(e);
            }
        }
    }
    private void initParams(PreparedStatement pstmt,Object...params) throws SQLException{
        for(int i=0;i<params.length;i++){
            pstmt.setObject(i+1, params[i]);
        }
    }
    public T query(String sql,RsHandler rs,Object...params){
        return null;
    }
}

interface RsHandler<T>{
    public T handle(ResultSet rs);
} 


 public class JdbcUtils {
    private static ComboPooledDataSource dataSorce = new ComboPooledDataSource();
    public static Connection getConnection() throws SQLException{
        return dataSorce.getConnection();
    }
    public static DataSource getDataSource(){
        return dataSorce;
    }
}
  • 写回答

1条回答

  • machineShunMing 2016-05-03 11:33
    关注

    没有连接,是不是你的连接池配置不对

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大