Unknown column 'user_name' in 'field list' 错误解决

报错的大概问题:

### Error updating database.  Cause: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'user_name' in 'field list'
### The error may involve zx.dbinterface.IUserOperation.add-Inline
### The error occurred while setting parameters
### SQL: insert into user(user_name, user_sex,user_date,user_job,user_department,user_pwd,user_tel) values(?, ?, ?, ?, ?, ?, ?)
### Cause: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'user_name' in 'field list'

这个是mybatis里面的列名和数据库里面的名字不匹配造成的,一般的解决方法是将两个名字改成一致的,比如:
而数据库的字段为:
Unknown column 'user_name' in 'field list' 错误解决_第1张图片

更改一下:

update t_user set username=#{name},userpassword=#{password} where id=#{id}

但是!我使用的是注解方式,这个方法改来改去,完全没有用,解决的方法是在前面加上你使用的数据库名:

@Insert("insert into user(user_name, user_sex,user_date,user_job,user_department,user_pwd,user_tel) "
			+ "values(#{name}, #{sex}, #{date}, #{job}, #{department}, #{password}, #{tel})")
    public int add(User user);

以上方式任然报错,下面的才是正确的(我使用的数据库名叫omdb)

@Insert("insert into omdb.user(user_name, user_sex,user_date,user_job,user_department,user_pwd,user_tel) "
			+ "values(#{name}, #{sex}, #{date}, #{job}, #{department}, #{password}, #{tel})")
    public int add(User user);

你可能感兴趣的:(bug解决)