com.jfinal.plugin.activerecord.ActiveRecordException: java.sql.SQLException: 调用中的无效参数
at com.jfinal.plugin.activerecord.DbPro.save(DbPro.java:618)
at com.jfinal.plugin.activerecord.Db.save(Db.java:390)
我的代码如下:
Db.save("eweb_page_function", "function_id, page_id, show_type, user_id",
new Record().set("user_id", userId).set("page_id", "1").set("function_id", serviceIds[i]).set("show_type", "list"));
定位了报错的地方在DbPro里的577行
PreparedStatement pst;
if (config.dialect.isOracle())
pst = conn.prepareStatement(sql.toString(), pKeys);//这个地方执行报错
else
pst = conn.prepareStatement(sql.toString(), Statement.RETURN_GENERATED_KEYS);
生成的SQL是insert into eweb_page_function(function_id, page_id, show_type, user_id) values(?, ?, ?, ?)
pKeys的值是[function_id, page_id, show_type, user_id]
我用的是jfinal3.0,oracle的版本是11.2.1.0,驱动包是ojdbc6.jar,表是采用联合主键的方式(function_id, page_id, show_type, user_id),还请大神帮忙看下错在哪里?
[function_id,page_id,show_type,user_id]这几个参数确定是否有值
都有值的问题找到了,表的字段是functoin_id,我代码里写的是function_id,不一致导致出错。
牛逼的坑,把你坑进去了哈哈。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。