使用C3P0出现错误…NullPointerException…

问题描述

使用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;
    }
}

解决方案

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

时间: 2024-09-19 09:23:41

使用C3P0出现错误…NullPointerException…的相关文章

java类Writer和类Reader小结

字段摘要 protected  Object lock           用于同步针对此流的操作的对象.   构造方法摘要 protected Writer()           创建一个新的字符流 writer,其关键部分将同步 writer 自身. protected Writer(Object lock)           创建一个新的字符流 writer,其关键部分将同步给定的对象.   方法摘要  Writer append(char c)           将指定字符添加到此

Btrace详细指南(JDK7,监控HashMap扩容)

背景     JAVA中如何排查疑难杂症,如何动态获取应用信息,我们有BTrace!     PS:集团有大杀器arthas,这里我们先从最原始最广泛的BTrace开始,后面可以玩玩Greys(开源,强于BTrace).     应用被tracle后,相关class会被改变,恢复需要重新编译,请自行把握. 一.下载安装BTtrace wiki:https://github.com/jbachorik/btrace/wiki BTrace博客:http://jbachorik.github.io/

深入研究java.lang.Runtime类【转】

  转自:http://blog.csdn.net/lastsweetop/article/details/3961911 目录(?)[-] javalang 类 Runtime getRuntime exit addShutdownHook removeShutdownHook halt runFinalizersOnExit exec exec exec exec exec exec availableProcessors freeMemory totalMemory maxMemory g

hibernate + c3p0连接池 出现以下错误,求解答!

问题描述 hibernate + c3p0连接池 出现以下错误,求解答! 5C 05-Apr-2016 10:36:43.186 INFO [C3P0PooledConnectionPoolManager[identityToken->2sbh7t9f1rc58zmz5ikx9|52feca18]-AdminTaskTimer] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illega

jfinal通过C3p0连接数据库sqlserver,出现了离奇的错误,大家知道怎么回事吗

问题描述 jfinal通过C3p0连接数据库sqlserver,出现了离奇的错误,大家知道怎么回事吗 在java EE里面通过jfinal里面的插件C3p0来连接sqlserver数据库Test,然后 通过tomcat发布到网上,在android服务器端来接受数据,在界面上显示,但是这里出现了非常离奇的错误 在里面显示:" ` "这个附近有错误,但是我程序里面没有这个符号呀 主程序: package jfinal; import com.jfinal.config.Constants;

openfileoutput-Android文件存取openFileOutput方法报NullPointerException错误

问题描述 Android文件存取openFileOutput方法报NullPointerException错误 public class FileService { private Context context; public void save(String filename, String filecontent) throws Exception { //Context.MODE_PRIVATE,文件私有保存模式.保存的文件不能被其他应用所访问,而且以覆盖的形式保存文件 FileOutp

axis-AxisFault 错误 java.lang.NullPointerException

问题描述 AxisFault 错误 java.lang.NullPointerException 报错行是UserInfo userinfo = (UserInfo) call.invoke(new Object[] {sid,sysno,ip }); AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.N

空指针错误 java.lang.NullPointerException 浅谈

      使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常.由此可见,空指针异常主要跟与对象的操作相关. 下面先列出了可能发生空指针异常的几种情况及相应解决方案: 不管对象是否为空就直接开始使用. (JSP)代码段1: out.println(request.getParameter("username")); 描

Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法_php技巧

当然这个东西很吃内存,配置差点的就不推荐使用了. 最近用的时候, 发现, 建立PHP工程后,再打开 Zend Studio for Eclipse就出现这个错误 An internal error occurred during: "Building PHP projects ..."java.lang.NullPointerException 很烦人的. 出错后PHP projects 会停止build,代码提示就全部没有了.需要手动rebuild. 今天在zend论坛找到一个解决办