目标:
1 三种类型的数值产生 [long,int,smallint], 保持唯一性
2 特定长度的字符串产生, 保持唯一性
主要有三个方法:
取得和产生int型数字方法;取得和产生long型数字方法;取得和产生short型数字方法
实现方式:首先获取当前的数字的值,然后递增后保存到数据库,并且返回结果。
数据表字段:id,beanname,keyed,keyvalue.
一个放在classpath下的xml文件:id.xml.主要是用来配置产生特定字符的相关信息:类别(group),长度(len),当前产生的字符(str).(读写xml文档的相关方法由小钟提供)
一个IdGenerate类,主要方法如下:
获取产生的有效字符串的方法:getGenerateStr();
产生有效长度的字符串的方法:setGenerateStr(String groupName);
1 首先根据传替的groupName,读取classpath下的id.xml;获取当前的的字符(str),以及字符串长度(len)。例如:0000001
2 分离当前字符串(str),用分割符分割。取得字符串数字部分,然后对数字进行递增操作,字符串总长度=数字部分长度+前面补0。
3 新产生的字符串由0000+唯一数字。
4 假设有前缀,那么字符串由前缀+000+唯一数字组成。
3 单态模式和线程同步的使用。