setter命名重复 导致mybatis 使用实体类当参数时 会出错

xiaoxiao2021-02-28  72

我使用mybatis连接数据库,当写insert语句一直出错,但是不会报错,而是直接回滚

所以很难找到出错的地方 所以弄了很久 后来用log4 来打印sql语句 

INSERT INTO my_order( NAME ) VALUES (?) 打印出来参数没有传递进去

mapper里的配置如下

<insert id="addOrder"> INSERT INTO my_order( NAME ) VALUES (#{id}) </insert> 我尝试换了一个实体类当参数,结果是可以

所以在原实体类里面找 最后发现这个

public void setDay(int day) { this.day = day; } public boolean isDay() { return isDay; } public void setDay(boolean day) { isDay = day; } 这是自动生成的 然后变量名是这样的

private int day;//预定日期 private boolean isDay;//预定的日场还是夜场所以就是因为取名的时候用了is 但是生成的setter自动将is省去了 于是变成两个参数不同 名字相同的setter

所以mybatis不知道使用哪个setter

花了一个晚上的时间 结果因为命名出的问题 妈的 以后再也不用is当开头了

转载请注明原文地址: https://www.6miu.com/read-68327.html

最新回复(0)