当前位置: 首页 > news >正文

建设学校网站的原因万能编程软件

建设学校网站的原因,万能编程软件,企业网站的可信度建设包括,wordpress企业末班项目应用中#xff0c;曾有以下一个场景#xff1a;接口中要求发送一个int类型的流水号#xff0c;由于多线程模式#xff0c;如果用时间戳#xff0c;可能会有重复的情况(当然概率很小)。所以想到了利用一个独立的自增的sequence来解决该问题。当前数据库为#xff1a;m…项目应用中曾有以下一个场景接口中要求发送一个int类型的流水号由于多线程模式如果用时间戳可能会有重复的情况(当然概率很小)。所以想到了利用一个独立的自增的sequence来解决该问题。当前数据库为mysql由于mysql和oracle不太一样不支持直接的sequence所以需要创建一张table来模拟sequence的功能理由sql语句如下第一步创建--Sequence 管理表DROP TABLE IF EXISTS sequence;CREATE TABLE sequence (name VARCHAR(50) NOT NULL,current_value INT NOT NULL,increment INT NOT NULL DEFAULT 1,PRIMARY KEY (name)) ENGINEInnoDB;第二步创建--取当前值的函数DROP FUNCTION IF EXISTS currval;DELIMITER $CREATE FUNCTION currval (seq_name VARCHAR(50))RETURNS INTEGERLANGUAGE SQLDETERMINISTICCONTAINS SQLSQL SECURITY DEFINERCOMMENT BEGINDECLARE value INTEGER;SET value 0;SELECT current_value INTO valueFROM sequenceWHERE name seq_name;RETURN value;END$DELIMITER ;第三步创建--取下一个值的函数DROP FUNCTION IF EXISTS nextval;DELIMITER $CREATE FUNCTION nextval (seq_name VARCHAR(50))RETURNS INTEGERLANGUAGE SQLDETERMINISTICCONTAINS SQLSQL SECURITY DEFINERCOMMENT BEGINUPDATE sequenceSET current_value current_value incrementWHERE name seq_name;RETURN currval(seq_name);END$DELIMITER ;第四步创建--更新当前值的函数DROP FUNCTION IF EXISTS setval;DELIMITER $CREATE FUNCTION setval (seq_name VARCHAR(50), value INTEGER)RETURNS INTEGERLANGUAGE SQLDETERMINISTICCONTAINS SQLSQL SECURITY DEFINERCOMMENT BEGINUPDATE sequenceSET current_value valueWHERE name seq_name;RETURN currval(seq_name);END$DELIMITER ;第五步测试函数功能当上述四步完成后可以用以下数据设置需要创建的sequence名称以及设置初始值和获取当前值和下一个值。INSERT INTO sequence VALUES (TestSeq, 0, 1);----添加一个sequence名称和初始值以及自增幅度SELECT SETVAL(TestSeq, 10);---设置指定sequence的初始值SELECT CURRVAL(TestSeq);--查询指定sequence的当前值SELECT NEXTVAL(TestSeq);--查询指定sequence的下一个值在java代码中可直接创建sql语句查询下一个值这样就解决了流水号唯一的问题。贴出部分代码(已测试通过)public void testGetSequence() {Connection conn JDBCUtils.getConnection(url, userName, password);String sql SELECT CURRVAL(TestSeq);;PreparedStatement ptmt null;ResultSet rs null;try {ptmt conn.prepareStatement(sql);rs ptmt.executeQuery();int count 0;while (rs.next()) {count rs.getInt(1);}System.out.println(count);} catch (SQLException e) {e.printStackTrace();} finally {JDBCUtils.close(rs, ptmt, conn);}}ps在应用中还有一种用java代码去实现模拟自增sequence的方式具体思路是创建一张存放sequence的table然后通过java调用sql语句去查询和修改这个table中指定sequence名称的值这种方式请加上synchronized。具体代码这里就不上传了因为实现了未去测试过。
http://wiki.neutronadmin.com/news/332798/

相关文章:

  • 中石油网页设计与网站建设科技有限公司网页设计
  • 设计网站首页友情链接检索
  • 安庆哪里做网站泰安范镇孟庄村
  • 云主机怎么上传网站鞍山ui界面
  • 设计好的集团网站建设多少钱长沙企业网站建设团队
  • 现在网站建设用dw哪个版本好迪奥官网网站做的好吗
  • 宁波手机网站建设河北pc端网站开发
  • 临漳seo整站排名网站建设方案书应急处置方案
  • 做一个网站成本多少东莞重大项目建设
  • 个人如何通过网站赚大钱建设国家游戏网站
  • 做网站推广的公司手机网站你懂
  • 南昌网站建设制作与维护网站怎么解析域名解析
  • 承德微网站建设网页设计图片与图片的位置
  • 本地做网站教程关键词优化的技巧
  • 多层分销网站建设百度在线做网站
  • 剑灵网站模板wordpress支付查看插件
  • 涿州是住房和城乡建设局网站辽阳公司做网站
  • 汕尾网站网站建设外国人的做视频网站吗
  • 在家做兼职哪个网站柳州免费做网站的公司
  • 品牌网站建设小蝌蚪1a北京网站设计制作教程
  • 中车建设工程有限公司网站app企业网站模板
  • 合肥市有做网站的公司吗嘉兴网站建设定制
  • 祥云平台建站wordpress标签的作用
  • 谷歌网站入口设计网站注意哪些问题
  • 网站建设夜猫微转app是用网站做的吗
  • 快速网站建设哪家好如何去做网络营销
  • 区网站开发语言顺德网站建设信息
  • 北京免费网站开发维护网站跳出率多少
  • 泰安做网站建设的公司哪家好请简述网站开发的流程图
  • 微信怎么做链接网站网站防站