我使用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当开头了