Java中每次java 自增序列实现0.01如何实现

mybatis中表的主键为 int 类型且 不是自增,如何在写java代码中实现添加多条数据?
错误信息:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1' for key 'PRIMARY'
简单啊,弄个自增的产生id的方法不就行了
自己生成id
int 直接用uuid不就行了
1、主键为啥不用自增的,自增可以节省很多事。
2、主键最好是与业务无关,业务编码与主键分开,可以用字符串,日后编码规则可以随便改,且影响最小。
3、为了系统安全,主键不对外开放(因为是自增会被穷举爆破、影响系统性能),接口一律使用业务编码进行业务操作,在系统内部,尽量通过主键来对数据进行操作。
以上是个人实践的经验。
不建议使用自增的ID,建议使用Snowflake方式生成ID没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!1.以sys/sys登录为用户carer分配create sequence的权限:
grant crea
2.以carer登录后 定义序列
create sequence INNERID
minvalue 1
maxvalue 99
start with 1
increment by 1
3.在insert语句中使用sequence
String sql = "insert into car_viol values(innerid.nextval,'"+car_id+"',to_date('"+viol_time+"','yyyy-MM-dd'),'"+info+"','"+fine1+"',to_date('"+time_limit+"','yyyy-MM-dd'))";
其中innerid.nextval就调用了自增序列产生id。
当然还有一种方法写一个trigger,在trigger中定义插入操作前利用INNERID.
haohaoshiwo1987
浏览: 15316 次
来自: 上海
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'java怎么保证一个变量永远自增,下次启动的时候还接着上次继续自增_百度知道
java怎么保证一个变量永远自增,下次启动的时候还接着上次继续自增
我有更好的答案
写到硬盘的文件里,下次启动读取文件里面的值,接着增加
采纳率:61%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 java实现流水号自增 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信