加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_汕头站长网 (https://www.0754zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

java应用使用mysql数据库需要序列的简单实现方法

发布时间:2022-09-24 15:00:05 所属栏目:MySql教程 来源:
导读:  mysql方面准备:

  1、在mysql新建一个表,用来存放序列当前值的:

  CREATE TABLE `sequenceid_table` (
   `sequenceid_table_id` int(11) NOT NULL AUTO_INCREMENT,
   `sequenceid_tabl
  mysql方面准备:
 
  1、在mysql新建一个表,用来存放序列当前值的:
 
  CREATE TABLE `sequenceid_table` (
    `sequenceid_table_id` int(11) NOT NULL AUTO_INCREMENT,
    `sequenceid_table_name` varchar(50) DEFAULT NULL COMMENT '项目名',
    `sequenceid_table_value` bigint(20) DEFAULT NULL COMMENT '值',
    PRIMARY KEY (`sequenceid_table_id`)
  ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  2、插入一条默认数据:
 
  INSERT INTO `sequenceid_table` VALUES ( 'studentId', '100000001');
  java方面:
 
  创建序列工具类:
 
   /**
   * 获取序列工具
   *
   */
  public class SequenceIDUtil {
  
 
   private static SequenceIDUtil sequenceIDUtil=null;
   public SequenceIDUtil(){
  
   }
  
   public synchronized static SequenceIDUtil getInstance() {
   if(sequenceIDUtil==null){
   sequenceIDUtil=new SequenceIDUtil();
   }
   return sequenceIDUtil;
   }
   /**
    * 学号
    * @return
    */
   public long studentId(){
   synchronized (this) {
   long studentId=0;
 
   try{
   BaseDao dao=new BaseDao();
   String sql="select t.sequenceid_table_value from sequenceid_table t where t.sequenceid_table_name='studentId'";
   studentId=dao.getValueBySql(sql);
   String updateSql="UPDATE sequenceid_table t set t.sequenceid_table_value="+(studentId+1)+" where t.sequenceid_table_name='studentId'";
   dao.excueSql(updateSql);
   }catch(Exception e){
   e.printStackTrace();
   return 0;
   }
   return studentId;
   }
   }
  }
  使用方法:
 
  public static void main(String[] arg){
   System.out.println(SequenceIDUtil.getInstance().studentId()+"");
  }
  这是比较简单的实现方法MySQL 序列使用,解决了java用mysql时序列的问题。
 

(编辑:云计算网_汕头站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!