在执行insert语句时出现了下方的错误
dao中执行的代码是:
@Insert("insert into user_role_map(userId, roleId) values(#{userId}, #{roleId})")
void addUserRole(Integer userId, Integer roleId) throws Exception;
结果在网上查找资料后得知,在执行insert语句时,语句中的参数会从所传参数中获取,也就是说,比如添加用户的代码,mybatis把参数当作bean使用,从里面取值用户名、密码、emai等
@Insert("insert into users (userName, password, email, phoneNum, status, address, name) values(#{userName}, #{password}, #{email}, #{phoneNum}, #{status}, #{address}, #{name})")
void save(Users users);
所以很显然我要执行的代码中,Integer userI和Integer roleId不是一个javaBean,我原本的目的是要当成Integer类型使用,所以就需要我们在代码中声明这是一个具体类型的参数,修改后的代码如下:
@Insert("insert into user_role_map(userId, roleId) values(#{userId}, #{roleId})")
void addUserRole(@Param("userId") Integer userId, @Param("roleId") Integer roleId) throws Exception;