2 cyoeki cyoeki 于 2016.05.03 19:00 提问

使用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个回答

jhfsdfs
jhfsdfs   2016.05.03 19:33
已采纳

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

jhfsdfs
jhfsdfs 我不是前辈
大约 2 年之前 回复
cyoeki
cyoeki 嗯嗯,多谢前辈,是配置文件出现了错误…
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c3p0报空指针异常
javaweb项目使用c3p0连接数据库报空指针异常,但之前同样流程的项目却能正常运行.经检查发现c3p0的配置文件配置是正确的,但在运行时没有加载自定义的配置文件
java 常见java.lang.NullPointerException(慢慢补充)
以例子为主 1. 变量为空, toString() Object s =null; System.out.println(s.toString()); 2. 函数.equal 前的变量为null Object s =null; System.out.println(s.equals("a")); 3. .replace函数 ,第一个参数为空 或者 第二个参数为
C3p0使用时出现的异常及解决方案
当并发量大的时候,C3P0连接池会出现如下异常信息:Caused by: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out. at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106) at com.mc
c3p0报空指针错误
1.今天c3p0报空指针错误,数据源的XML文件中,URL、用户名密码均没有问题,花费了很长时间,才发现是XML文件存放的路径不正确 c3p0数据源应放置在src根目录下或相应jar文件中
c3p0常见错误及解决办法
用ssh框架做了个小项目,用c3p0做连接池,用的是Mysql 5.1.x ,现问题如下: 现在项目已经发布到服务器,前一天还没什么问题,但是第二天,在运行,老是报com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 54
jsp,servlet 连接c3p0数据库连接池是出现的问题
九月 02, 2015 10:17:48 下午 com.mchange.v2.log.MLog INFO: MLog clients using java 1.4+ standard logging. 九月 02, 2015 10:17:48 下午 com.mchange.v2.c3p0.cfg.C3P0Config warnOnUnknownProperties WARNING: Unk
paip.c3p0 数据库连接池 NullPointerException 的解决...
paip.c3p0 数据库连接池 NullPointerException 的解决... 程序ide里面运行正常..外面bat运行错误.. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attilax 看stack,,,,建立conn错误兰.. log
C3P0连接池报错:java.lang.NullPointerException 空指针异常
一、问题描述 连接池用的是C3P0,然后写了个工具类方便操作,代码如下: package com.fendo.utils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.s
c3p0连接池NullPointerException
错误原因:  缺少图片上的代码
关于preparestatement行 报java.lang.NullPointerException
今天练习做jdbc利用工具类完成curd操作的这么个东西,在测试执行的时候一直报java.lang.NullPointerException 工具类是这样的 public class jdbcutils { public static Connection getConnection() throws Exception{ Class.forName("com.mysql.jdbc