- 处理公共字段自动赋值
- 枚举、注解、AOP、反射
- 自定义注解
- @interface
- @Target
- @Retention
- AOP自定义切面
- @Aspect
- 切入点
-
@Pointcut("execution(* com.sky.mapper.*.*(..)) && @annotation(com.sky.annotation.AutoFill)")
- 前置通知 @Before("autoFillPointcut()")
- 通过反射为对象赋值
- 自定义注解
- 阿里云OSS 文件上传
- endpint
- access-key-id
- access-key-secret
- buket-name
- @ConfigurationProperties(prefix = "sky.alioss")
- 通过@ConfigurationProperties将properties属性和一个Bean及其属性关联,从而实现类型安全配置。'
- @RestController
- @RestController 是一个组合注解,它结合了 @Controller 和 @ResponseBody 注解的功能(就相当于把两个注解组合在一起)。在使用 @RestController 注解标记的类中,每个方法的返回值都会以 JSON 或 XML 的形式直接写入 HTTP 响应体中,相当于在每个方法上都添加了 @ResponseBody 注解。
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
- useGeneratedKeys设置为true时,表示如果插入的表id以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键id返回。
- 只针对insert语句生效,默认false
-
<insert id="insertBatch"> insert into dish_flavor (dish_id, name, value) VALUES <foreach collection="flavors" item="df" separator=","> (#{df.dishId}, #{df.name}, #{df.value}) </foreach> </insert>
- @EnableTransactionManagement //开启注解方式的事务管理
- @Transactional
- open、separator、close、item
<select id="getSetmealIdsByDishIds" resultType="java.lang.Long">
select setmeal_id from setmeal_dish where dish_id in
<foreach collection="dishIds" item="dishId" open="(" separator="," close=")">
#{dishId}
</foreach>
</select>
- RequestParam
1:@RequestParam 注解用来标注在控制器方法的参数上,springmvc 从 request 中获取请求的值赋值给方法的参数。
2:@RequestParam 指定 name 时,可以获取 request 中指定参数的值,相当于 request.getParameter(name)或 request.getParameters(name)。
3:@RequestParam 未指定 name,参数类型为:Map时,用来接收 request 中所有参数的值,Map 中 key 为参数名称,value 为参数的值。
4:@RequestParam 未指定 name,参数类型为 MultiValueMap时,用来接收 request 中所有参数的值,key 为请求中的参数名称,value 为值的集合 List。
@DeleteMapping
@ApiOperation("批量删除菜品")
public Result delete(@RequestParam List<Long> ids) {
log.info("批量删除菜品:{}", ids);
dishService.deleteBatch(ids);
return Result.success();
}