jfinal+oracle项目中,操作数据库进行数据操作时,model.set(“key”,1);
这里的1默认会为Integer类型,但是oracle字段类型为number,这样就会报错:索引中丢失IN或OUT参数
解决方法:
利用BigDecimal类的构造方法将需要转换的参数转成BigDecimal类型
例如:model.set(“key”,new BigDecimal(1));
至于报错信息:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO law_enforce_user(user_code,name,sex,birthday) VALUES(?,?,?,?)]; SQL state [99999]; error code [17041]; 索引中丢失 IN 或 OUT 参数:: 4; nested exception is java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 4
原因是数据库中的字段类型与SQL语句中的类型不匹配造成的,后边的数字,代表第几个参数错误。找到对应参数配置或者SQL中这个参数的类型是否与数据库中匹配,更改后即可
SQL报错error:索引中丢失IN或OUT参数
最新推荐文章于 2024-06-24 21:28:12 发布