微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java数据库唯一id生成工具类

这篇文章主要为大家详细介绍了java数据库唯一id生成工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java数据库唯一id生成工具类的具体代码,供大家参考,具体内容如下

import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import java.util.Random; import java.util.UUID; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.core.JdbcTemplate; public class UniqueIdUtil { private static long adjust = 1L; private static long nextId = 0L; private static long lastId = -1L; private static long randomLeng = 6L; private static JdbcTemplate jdbcTemplate; private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); private static void init() { try { jdbcTemplate = (JdbcTemplate)AppUtil.getBean("jdbcTemplateSN"); String str2 = AppConfigUtil.get("genId.adjust"); if (str2 != null) { adjust = Integer.parseInt(str2); } } catch (Exception localException) { adjust = 1L; String str3 = AppConfigUtil.get("genId.adjust"); if (str3 != null) { adjust = Integer.parseInt(str3); } } } private static void getNextIdBlock() { if (jdbcTemplate == null) { init(); } Long localLong = Long.valueOf(-1L); Integer localInteger = Integer.valueOf(-1); String str1 = "SELECT bound,incremental FROM SYS_DB_ID T WHERE T.ID=?"; String str2 = "UPDATE SYS_DB_ID SET BOUND=? WHERE ID=?"; try { Map localmap = jdbcTemplate.queryForMap(str1, new Object[] { Long.valueOf(adjust) }); localLong = Long.valueOf(Long.parseLong(localmap.get("bound").toString())); localInteger = Integer.valueOf(Integer.parseInt(localmap.get("incremental").toString())); nextId = localLong.longValue(); lastId = localLong.longValue() + localInteger.intValue(); jdbcTemplate.update(str2, new Object[] { Long.valueOf(lastId), Long.valueOf(adjust) }); } catch (EmptyResultDataAccessException localEmptyResultDataAccessException) { insertNewComputer(); } } private static void insertNewComputer() { try { lastId = 10000L; String str = "INSERT INTO SYS_DB_ID (id,incremental,bound) VALUES(" + adjust + ",10000," + lastId + ")"; jdbcTemplate.update(str); } catch (Exception localException) { localException.printstacktrace(); } } public static synchronized long genId() { if (lastId

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐