SpringBoot Request And Response

1, 简单参数
	定义方法形参,请求参数名与形参变量名一致。
	如果不一致,通过@RequestParam手动映射。
2,实体参数
	请求参数名,与实体对象的属性名一致,会自动接收封装。
3,数组集合参数
	数组:请求参数名与数组名一致,直接封装。
	集合:请求参数名与集合名一致,@RequestParam绑定关系。
4,日期参数
	@DateTimeFormat
5,JSON参数
	@RequestBody
6,路径参数
	@PathVariable
	@Autowired
	private HttpServletRequest request;

refer to:
https://www.bilibili.com/video/BV1kg4y1x7o6?p=70

Return Primary Key After Inserting In MyBatis

@Mapper
public interface EmpMapper {
 
	@Delete("delete from emp where id = #{id}")
	public void delete(Integer id);
 
	@Options(useGeneratedKeys = true, keyProperty = "id")
	@Insert("insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, update_time)" +
			" values (#{username}, #{name}, #{gender}, #{image}, #{job}, #{entrydate}, #{deptId}, #{createTime}, #{updateTime})")
	public void insert(Emp emp);
 
	@Results({
		@Result(column = "dept_id", property = "deptId"),
		@Result(column = "create_time", property = "createTime"),
		@Result(column = "update_time", property = "updateTime")
	})
	@Select("select * from emp where id = #{id}")
	public Emp getById(Integer id);
 
	// or in application.properties
	// mybatis.configuration.map-underscore-to-camel-case=true
 
	//@Select("select * from emp where name like '%${name}%' and gender = #{gender} and " +
	//		"entrydate between #{begin} and #{end} order by update_time desc ")
	@Select("select * from emp where name like concat('%', #{name}, '%') and gender = #{gender} and " +
			"entrydate between #{begin} and #{end} order by update_time desc ")
	public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
}

refer to:
https://www.bilibili.com/video/BV1kg4y1x7o6/?p=124