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

mysql怎么实现序列java_java应用使用mysql数据库需要序列的简单实

发布时间:2023-01-11 13:05:57 所属栏目:MySql教程 来源:转载
导读: mysql方面准备:
1、在mysql新建一个表MySQL 序列使用,用来存放序列当前值的:
CREATE TABLE `sequenceid_table` (
`sequenceid_table_id` int(11) NOT NULL AUTO_INCREMENT,
`sequenceid

mysql方面准备:

1、在mysql新建一个表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 {

MySQL 序列使用_mysql如何创建序列_mysql 自增序列

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()+"");

}

这是比较简单的实现方法,解决了java用mysql时序列的问题。使用的时候只有一个实例,保证了序列的唯一性。

(编辑:重庆站长网)

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