org.apache.ibatis.reflection.ReflectionException:
There is no getter for property named ‘user_name’ in ‘class com.example.demo.pojo.User’
问题描述
由于使用xml方式实现动态sql,遇到这个样一个错误:
There is no getter for property named ‘user_name’ in ‘class com.example.demo.pojo.User’
发现user_name是我数据库中定义的字段名
于是再去查看写的sql语句,找到是这里的问题
if标签中的user_name写成了数据库中的字段名,应写为所传递的属性名
tips:
1.sql标签之中写注释也会导致报错
2.
@Update("update b_users set user_name=#{userName},user_password=#{userPassword} where user_id = #{userId}")
int updateUser(User user);
@Insert("INSERT into b_users(user_name,user_password,user_nickname,user_email,user_tel_number,user_portrait) VALUES(#{user.userName}, #{user.userPassword}," +
" #{user.userNickname}, #{user.userEmail},#{user.userTelNumber}, #{user.userPortrait})")
int insertUser(@Param("user") User user);
传入参数为一个对象时,加了@Param注解则需要在每一个参数前加上对象名