car表设置的是主键自增,需要获取新插入的数据id,我是在使用zTree的时候需要新插入的数据的id,在这里记录一下
在xml中定义useGeneratedKeys为true,返回主键id的值,keyProperty和keyColumn分别代表数据库记录主键字段和java对象成员属性名
useGeneratedKeys="true" keyProperty="id" keyColumn="id"
这只是一种方法,还有其他的获取方法,使用于MySQL SQLserver。
domain get set省略
public class Car{
private Integer id;
private String name;
private String colour;
}
controller层
//新增车辆
@PostMapping ("/addCar")
@ResponseBody
private Car addCar(Car car){
Car car = new Car();
Car.setName(car.getName());
chain.setColour(car.getColour());
int insert = carService.addCar(chain);
if (insert == 1){
System.out.println("添加成功");
}else {
System.out.println("添加失败");
}
return car;
}
返回值 car里包含新增id
service层
//新增车辆
int addCar(Car car);
serviceImpl层
//新增车辆
@Override
public int addCar(Car car) {
return carMapper.addCar(car);
}
mapper层
//新增车辆
int addCar(Car car);
mapper.xml
<!-- 新增车辆
int addPCar(Car car); -->
<insert id="addPCar" parameterType="com.demo.domain.Car" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into car(name,colour) values (#{name},#{colour})
</insert>
主要就是在xml里加上这个
useGeneratedKeys="true" keyProperty="id" keyColumn="id"