在项目中为多个模块创建uuid,以及唱票算法
来源:互联网 发布:mac切换中文输入法 编辑:程序博客网 时间:2024/06/10 12:17
我们在为项目进行用户添加时,不能让用户自行为自己添加id
我们应该在逻辑层调用某种模块来自动为添加的用户创建id
所以我们要在common包中为其创建一个uuid模块
uuid模块包括:dao,vo,constance分别为数据层,值对象,枚举类型
vo层:
public class UuidModel implements Serializable{
private String ModelName //模块类型名
private int currentNum //自动分配的id
public String getModelName() {
return ModelName;
}
public void setModelName(String modelName) {
ModelName = modelName;
}
public int getCurrentNum() {
return CurrentNum;
}
public void setCurrentNum(int currentNum) {
CurrentNum = currentNum;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((ModelName == null) ? 0 : ModelName.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
UuidModel other = (UuidModel) obj;
if (ModelName == null) {
if (other.ModelName != null)
return false;
} else if (!ModelName.equals(other.ModelName))
return false;
return true;
}
}
dao层
impl实现类:uuidImpl
public class uuidImpl implements UuidDao{
private final String FILE_NAME:"uuid.txt";
@Override
public String getUuid(UuidModelConstance UuidEnum) {
String ModelName=UuidEnum.getModelName();
List<uuidModel> list =FileIoUtils.readFromFile(FILE_NAME);//从uuid.txt中读取该模块存入list中
for(UuidModel model:list){
if(model.getModelName.equals(ModelName)){//遍历这个list,如果匹配到相同类型名的就进行uuid的返回
int result=model.getCurrentNum();
model.setCurrentNum(result+1);//下一次同一模块来访问的时候uuid则会+1,这就是唱票算法
list.add(model);
FileIoUtils.write2File(list,FILE_NAME);
return String.valusof(result);
}
}
//遍历完后如果没有匹配到则表明文件中还没有该类型,则需要重新创建
UuidModel model=new UuidModel();
model.setModelName(ModelName);
model.setCurrentNum(2);
list.add(model);
FileIoUtils.write2File(list,FILE_NAME);
return "1";
}
这样我们就可以在逻辑层设计在添加某模块数据时,封装uuid,然后进行添加。
- 在项目中为多个模块创建uuid,以及唱票算法
- IDEA创建多个模块MavenSpringBoot项目
- IDEA创建多个模块MavenSpringBoot项目
- maven父子聚合项目,以及文件夹下创建多个项目提交到源码仓库中
- 如何maven在eclipse以及在myeclipse中创建项目
- 在多个Android项目工程中共享一个库模块
- 在一个idea工作环境中导入多个maven项目模块
- js中创建UUID
- js中创建UUID
- 在Eclipse中安装Maven插件以及创建Maven项目
- Maven环境搭建以及在myeclipse中创建Maven项目
- 在Eclipse中安装maven插件以及创建maven项目
- 如何在postgressql中创建uuid函数(…
- 解决在postgressql中创建uuid函数失败问题
- python中uuid模块使用
- 在powerdesigner中,一个table,怎么在diagram中创建多个symbol(多个模块都和同一个表相关联)
- 在powerdesigner中,一个table,怎么在diagram中创建多个symbol(多个模块都和同一个表相关联)
- 在powerdesigner中,一个table,怎么在diagram中创建多个symbol(多个模块都和同一个表相关联)
- 面试题目整理 线程安全的单例模式
- DOM操作和样式操作库的封装
- java内部类详解
- docker学习之Dockerfile
- 蓝桥杯-贪吃的大嘴-动态规划-java
- 在项目中为多个模块创建uuid,以及唱票算法
- nyoj 16 矩形嵌套(基础dp)
- Problem B: 时间类的错误数据处理
- 究极java工程师第一步基本服务搭建(二),redhat6.4配置yum源
- 《深入理解mybatis原理》 MyBatis缓存机制的设计与实现
- Vitalik Buterin:以太坊Casper惩罚条件的最小化
- Linux学习笔记|一道题搞清楚目录与文件权限设置
- ZooKeeper_Java操作(创建节点/获取节点/删除节点)
- 在Linux里安装、启动nginx