当前位置: 首页 > wzjs >正文

怎样做百度推广网站网站建设的报价单

怎样做百度推广网站,网站建设的报价单,哪类网站赚钱 优帮云,电影网页设计素材MyBatis-Plus 实现 sp_id_path 与 id 同步的方案 要实现新增时 sp_id_path 自动与 id 保持一致,需要在实体类和插入逻辑中做相应处理。MyBatis-Plus 提供了几种方式来实现这一需求: 方案一:使用 MyBatis-Plus 的自动填充功能 这是最优雅的…

MyBatis-Plus 实现 sp_id_path 与 id 同步的方案

要实现新增时 sp_id_path 自动与 id 保持一致,需要在实体类和插入逻辑中做相应处理。MyBatis-Plus 提供了几种方式来实现这一需求:

方案一:使用 MyBatis-Plus 的自动填充功能

这是最优雅的解决方案,通过实现 MetaObjectHandler 接口,在插入前自动设置 sp_id_path 的值:

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;@Component
public class MyMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {// 获取当前实体对象Object entity = metaObject.getOriginalObject();// 只处理 DsteSpConfigNew 实体if (entity instanceof DsteSpConfigNew) {DsteSpConfigNew config = (DsteSpConfigNew) entity;// 若 sp_id_path 未手动设置,则在插入前设置为 id 值if (config.getSpIdPath() == null) {// 注意:此处 id 可能还未生成,需要特殊处理// 下面会提供具体实现方式}}}@Overridepublic void updateFill(MetaObject metaObject) {// 更新填充逻辑}
}

方案二:在插入后更新 sp_id_path

由于 id 是自增主键,插入前无法获取,可分两步实现:

  1. 先插入记录,获取生成的 id
  2. 立即更新 sp_id_path 为该 id
@Service
public class DsteSpConfigNewService {@Autowiredprivate DsteSpConfigNewMapper configMapper;@Transactionalpublic void saveConfig(DsteSpConfigNew config) {// 1. 插入记录,此时会自动生成 idconfigMapper.insert(config);// 2. 获取生成的 idLong id = config.getId();// 3. 更新 sp_id_path 为 id 值DsteSpConfigNew updateEntity = new DsteSpConfigNew();updateEntity.setId(id);updateEntity.setSpIdPath(String.valueOf(id));configMapper.updateById(updateEntity);}
}

方案三:使用数据库触发器(推荐)

数据库层面的触发器可以更可靠地保证 sp_id_path 与 id 的一致性:

DELIMITER $$
CREATE TRIGGER after_dste_sp_config_new_insert
AFTER INSERT ON dste_sp_config_new
FOR EACH ROW
BEGIN-- 将新记录的 sp_id_path 更新为 id 值UPDATE dste_sp_config_new SET sp_id_path = NEW.id WHERE id = NEW.id;
END$$
DELIMITER ;

这种方式无需修改 Java 代码,完全由数据库自动处理,但需要注意触发器可能带来的性能影响。

实体类配置

确保实体类中包含这两个字段,并使用正确的注解:

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;@Data
@TableName("dste_sp_config_new")
public class DsteSpConfigNew {@TableId(type = IdType.AUTO)private Long id;private String spName;private Long projectId;private String spIdPath;private String spNamePath;private Long parentSpId;private Integer spStatus;private LocalDateTime createAt;private LocalDateTime updateAt;private LocalDateTime deleteAt;
}
http://www.dtcms.com/wzjs/559321.html

相关文章:

  • 阳信网站建设网站策划工作条件
  • 苏州木渎做网站公司婚庆公司加盟
  • 万网发布网站动力风网站建设及软件开发合同
  • 如何做百万格子网站怎么学好网站建设
  • 成都网站建设 四川冠辰网站公司必须帮备案
  • wordpress关闭移动站点如何将qq音乐链接到wordpress
  • 果洛电子商务网站建设多少钱网站开发加设计要多少钱
  • 怎样做水果外卖加盟网站app开发一个多少钱
  • 用jsp做的网站有哪些亲子装网站建设
  • 佛山市住房和城乡建设管理局网站沈阳男科医院哪家好哪个医院正规
  • 宁夏做网站有企业信息的网站
  • 自己做网站卖机器设备浅谈高校门户网站建设的规范标准
  • 做电子商务平台网站需要多少钱青岛网站建设推广服务
  • Wordpress 手机网站ps网页设计实验报告
  • 网站推广途径和要点12306网站开发投资
  • 外国公司做网站成都网站建设科技公
  • 吉林省建设厅门户网站网站制作做网站
  • 做响应式网站一般都用哪些框架百度在线咨询
  • 做设计需要素材的常用网站有哪些广州免费自助建站平台
  • 海康打开网站显示建设中潍坊网络营销公司有哪些
  • 各网站收录网站制作的要点和步骤详解
  • 酒吧dj做歌网站游戏推广是干什么
  • 深圳市企业网站建设价格做校服的网站
  • 电商网站策划书个人做跨境电商的平台网站有哪些
  • 网站建设纳千网络手机投资app平台
  • 炫酷网站有哪些哪个网站做ppt能赚钱
  • 招投标网站开发费用常见的erp系统
  • asp网站怎么做wordpress 教 模版
  • 怎么制作网站记事本做网站app要多钱
  • 北京双井网站建设东莞凤岗企业网站建设推广