Antes de leer este uso, pero carecen de una comprensión profunda de, hoy de nuevo por un ejemplo para explicar TODO. useGeneratedKeys y propiedadClave.
TodoMapper a entregar:
//增加
public Integer saveTodo(Todo todo);
TodoMapper.xml
<!-- 插入statement
useGeneratedKeys:开启主键回写
keyColumn:主键列名(既数据库表中的列名)
keyProperty:主键对应的属性名(实体中的属性名)
插入数据时,传过来的参数是一个对象,#{***}中的名字必须与对象中属性名一致
-->
<insert id="saveTodo" parameterType="Todo" useGeneratedKeys="true" keyColumn="id"
keyProperty="id">
insert into t_todos (content,done) values(#{content},#{done})
</insert>
Esta es una clase de prueba: el diseño de la base de datos de identificación es la clave principal, la subasta, por lo que el tiempo no escribió la siguiente nueva identificación.
@Test
public void testSaveTodo(){
// 创建Todo对象
Todo todo= new Todo("提交第二周作业",0);
// 插入数据
todoMapper.saveTodo(todo);
//todo 回传了自动生成的id
System.out.println(todo.getId());
}
TodoController categorías:
@PostMapping("/insert")
public String insert(@RequestBody Todo todo) {
todoMapper.saveTodo(todo);
Integer id = todo.getId();//回传的id
return "{\"id\":\"" + id + "\"}";
}
Después de que el ejemplo anterior, useGeneratedKeys y el uso keyProperty es muy claro ahora.