java - apache commons 的dbutils如何返回新插入的主键值?

 yanbin0220_252 发布于 2022-10-28 15:01

我用的是,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)

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有