对于新增保存操作来说,把传递过来的所有参数封装到一个实体类中,作为方法的参数
但是有时候传递过来的没有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.最后才保存
本文介绍了一种在SpringBoot应用中实现自动ID生成的方法,适用于前后端分离的场景。通过配置IDWorker并将其注入Service层,可以为不包含ID的新实体自动生成唯一标识符。

446

被折叠的 条评论
为什么被折叠?



