添加更多参数时java Mybatis插入失败
我正在为我的项目使用Mybatis
3.2
,Orace 12c
。我使用代码生成器生成insert()
方法。在<insert>
标记中,它有模式名;例如:
insert into CPORTAL.CARD_USER_MASTER
现在,模式是动态的,所以我使用参数来更改模式:
insert into ${schema}.CARD_USER_MASTER
参数schema
在mapper.java
中定义为
insert(CardUserMaster record, @Param("schema") String schema)
但是,如果没有该模式,insert可以工作,但如果有模式,则会发生错误:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'carduserSeqno' not found. Available parameters are [0, schema, param1, param2]
在另一个类中,我在insert
方法上设置了类似的模式参数,它可以工作。不知道这门课怎么了
如有任何意见,将不胜感激
谢谢
# 1 楼答案
换成
并在SQL中使用参数作为
entity.carduserSeqno
看起来它无法识别0参数是POJO。如果没有
@Param("schema")
,它将pojo字段直接用作参数btu,并添加它无法添加的schema
参数