Exception in thread "main" java.lang.AbstractMethodError: oracle.jdbc.driver.T4CPreparedStatement.getParameterMetaData()Ljava/sql/ParameterMetaData;
at org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:172)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:485)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:402)
at com.bobo.easybuy.dao.BaseDAO.executeUpdate(BaseDAO.java:37)
at com.bobo.easybuy.dao.impl.Easybuy_userDAOImpl.save(Easybuy_userDAOImpl.java:35)
at com.bobo.easybuy.test.Test.main(Test.java:24)

解决方案 »

  1.   

    sql连接出错
    把你的包跟你的连接字串拿出来看看
      

  2.   

    private final String DRIVER = "oracle.jdbc.driver.OracleDriver";
    private final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
    private final String UID = "zhangbo";
    private final String PWD = "bobo";

    Connection conn = null;
    QueryRunner runner = new QueryRunner();

    private Connection openConnection() throws SQLException {
    DbUtils.loadDriver(DRIVER);
    conn = DriverManager.getConnection(URL, UID, PWD);
    return conn;
    }这个是连接的。仔细看了看。好像好着的。
      

  3.   


    private final String DRIVER = "oracle.jdbc.driver.OracleDriver";
    private final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
    private final String UID = "zhangbo";
    private final String PWD = "bobo";Connection conn = null;
    QueryRunner runner = new QueryRunner();private Connection openConnection() throws SQLException {
    DbUtils.loadDriver(DRIVER);
    conn = DriverManager.getConnection(URL, UID, PWD);
    return conn;
    }这个是连接的。仔细看了看。好像好着的。
      

  4.   

    是不是包冲突了?你确定只有一个ojdbc4.jar么?
      

  5.   

    是不是你要在main方法里面运行的  但是你的这个方法没有main
      

  6.   


    这个是我特意写了个main方法用来测试的。
      

  7.   


    两个包。一个用来连接oracle的驱动。一个是DbUtils包。不会有冲突的
      

  8.   

    AbstractQueryRunner.java:172
    贴出来看看呢
      

  9.   


       at com.bobo.easybuy.test.Test.main(Test.java:24)仔细看一下这里的24代码,你怎么操作的!
      

  10.   


    at com.bobo.easybuy.test.Test.main(Test.java:24)
    仔细查看一下这里24的代码,最好打个断点跟踪一下!
      

  11.   


    找到了,谢谢。我用的是oracle的连接。他的QueryRunner方法必须设置个参数。OK