mall学习笔记(4)

Posted on   Capterlliar  阅读(19)  评论(0编辑  收藏  举报

今天来抄添加属性的功能,看了看在productService里。

1. @Transactional

@Transactional注解在代码执行出错的时候能够进行事务的回滚。

只能用于public方法,并且被另一个内部函数调用时不生效。

2. @Data

Lombok注解之一。

Lombok中关于@Data的使用

2. 先获取属性列表和商品列表

3. Mybatis updateByPrimaryKeySelective的使用

selective就是没填的字段不更新,而不是改成null

4. Java反射(java.lang.reflect)

Method setId = item.getClass().getMethod("setId", Long.class);
setId.invoke(item, (Long) null);

看这两行代码,获取了运行中类的方法,然后抽象地执行一下

5. @Param

List<ProductAttrInfo> getProductAttrInfo(@Param("id") Long productCategoryId);

@Param是写到sql中的变量

6. 更新逻辑

先把product的属性更新一遍,至于product_attribute,先把原来的删了,然后添加新的。但这样感觉id会变得很大。算了就要应用的规模这个问题也不严重。而且这个id看起来也没用,到时候删掉也可以(

阅读材料:mysql自增id超大问题的排查与解决_mysql 压缩自增长

 

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示