mybatis传入两个String的参数的时候

今天遇到了一个传参问题,报错信息是类似于下面那样:

org.apache.ibatis.binding.BindingException: Parameter 'code' not found. Available parameters are [FVALUE, FCODE, param1, param2]

问题1:

因为在dao层没有在参数上加上@Param注解,然后导致mybatis找不到参数报错

修改之前

public OpsOrderReturnItem queryReturnItemByOrderItemIdAndCode(String orderItemId,String materialCode);

xml:

    

 

修改之后

public OpsOrderReturnItem queryReturnItemByOrderItemIdAndCode(@Param("orderItemId")String orderItemId,@Param("materialCode")String materialCode);

xml:

    

总结一下:一个参数可以不用@Param

但是多个参数必须使用,切记!!!

另外,多个参数推荐用map传值

问题2:

异常:### Cause: java.sql.SQLException: Field 'id' doesn't have a default value

错误原因

 

原因: 由于id在数据库表中是作为主键,但是在插入的过程中,没有给予数值,并且没有让其自增

 

解决办法  :修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时)

以后注意

你可能感兴趣的:(java)