前端传递没有id参数的处理方式

本文介绍了一种在SpringBoot应用中实现自动ID生成的方法,适用于前后端分离的场景。通过配置IDWorker并将其注入Service层,可以为不包含ID的新实体自动生成唯一标识符。

对于新增保存操作来说,把传递过来的所有参数封装到一个实体类中,作为方法的参数

但是有时候传递过来的没有id参数,如:前端只传递过来用户名称,而系统是采用了id生成器的做法,那么就需要进行一些设置

1.配置idWorker到工程的启动类中

//1.配置springboot的包扫描
@SpringBootApplication(scanBasePackages = "com.ihrm.company")
//2.配置jpa注解的扫描
@EntityScan(value = "com.ihrm.domain.company")
public class CompanyApplication {
    public static void main(String[] args) {
        SpringApplication.run(CompanyApplication.class,args);
    }
    @Bean
    public IdWorker idWorker(){
        return new IdWorker();
    }
}

意思就是说:创建一个IDWorker对象,交给Spring容器去管理,因为它是一个普通的类 

2.在service中注入idworker

@Autowired
private IdWorker idWorker;

3.通过idworker生成id

public void  add(Company company){
    //基本属性id的设置
    String id = idWorker.nextId() + "";
    company.setId(id);
}

这里有个技巧:如果.nextId()得到的是Long类型,那么直接+""就可以转化为字符串类型

4.最后才保存

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值