今天运行添加方法时,遇到了如标题所示的错误,去网上大致搜了一圈,并不是一样的情况,在确定实体类里有get方法,及拼写无错误后,当我把字段xxx_xx下划线都给实体类属性保持一致后,可以运行了.
但是,接着我发现我已经在mybatis的配置文件中加了驼峰转化了,并不需要把实体类的属性加上下划线才对,毕竟这不符合java经典的命名规范.
<!-- 开启驼峰命名转换 从数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
最后发现,只需要将#{xxxx}和实体类属性名保持一致即可,最开始的时候报错是因为我设置了birthDay属性,而映射文件中,我写的是#{birthday}..在这里,是区分大小写的,需要保持一致.
<insert id="addHomeMember" parameterType="Home">
insert into tbl_member(id,name,birthday,motto,open_id,phone,familyCode,avatarUrl,home_id,age)
values(#{id}, #{name},#{birthDay},#{motto},#{openId},#{phone},#{familyCode},#{avatarUrl},#{homeId},#{age})
</insert>