java - apache commons 的dbutils如何傳回新插入的主鍵值?
PHP中文网
PHP中文网 2017-04-18 10:53:33
0
0
1006

我用的是,oracle數據庫,主鍵是序列.
看到dbutils工具中的insert可以返回主鍵值,但是我試了下卻報錯了

public void add2() throws SQLException {
        QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource());
        String sql="INSERT INTO ACCOUNT VALUES(ACCOUNT_SEQ.NEXTVAL,?,?,SYSDATE)";

        Object o=qr.insert(sql,new ScalarHandler(),"小黑",52.65);
        System.out.println(o);
    }

報錯信息如下

Exception in thread "main" java.sql.SQLException: Wrong number of parameters: expected 3, was given 2 Query: INSERT INTO ACCOUNT VALUES(ACCOUNT_SEQ.NEXTVAL,?,?,SYSDATE) Parameters: [小黑, 52.65]
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392)
at org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:610)
at org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:534)
at top.getcode.dbutils.DBUtils.QueryRunnerCRUD.add2(QueryRunnerCRUD.java:91)

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(0)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板