MyBatis插入和返回键 - 注释/ Primatives / MySql

时间:2016-01-13 00:35:18

标签: mybatis

我在这里遇到了一些问题。我想插入MySql表,并通过注释配置MyBatis并返回自动增量键。我的方法只使用原语,而不是POJO:

@Insert("INSERT into my_list (created_by_id, name) values (#{userId}, #{name})")
@Options(useGeneratedKeys=true)
long insert(@Param("userId") long userId, @Param("name") String name); 

如何告诉MyBatis将键映射回方法返回参数(而不是POJO成员变量)?

我得到了例外:

org.mybatis.spring.MyBatisSystemException: nested exception is
org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting 
result to parameter object. 
Cause: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available 
parameters are [userId, name, param1, param2]

1 个答案:

答案 0 :(得分:0)

mybatis生成id并将其设置为pojo中的id字段。但是在这里你没有为mybatis设置id的pojo。 如果你没有pojo,你可以使用map,将所有参数放入map中,mybatis会将id放到地图上。