mybatis 获取主键自增id值

 

需求:

  业务编号自动生成,不可编辑,生成规则:

  业务类型编码+当前日期+当天生成序号,例如:12月6日第一次创建业务,则业务编号为:112061

 

使用技术:

  mybatis(实际使用mybatis-plus)

  利用replace into 替换当前符合条件记录,replace要求必须有主键或者唯一索引

  那么,可以设置日期为唯一索引

  表设计:

  id  主键自增

  date 日期类型,,唯一索引

  

 

controller层实现

int seq = repoSeqService.getRepoSeq();

 

service层

@Autowired

RepoSeqMapper repoSeqMapper;

@Override

public int getRepoSeq() {

 

RepoSeq seq = new RepoSeq();

seq.setDate(new Date());

//必须传实体,否则取不到参数

int count = repoSeqMapper.insertRepoSeq(seq);

if(count > 0){

return seq.getId();//取自增主键

}

return 0;

}

 

mapper中

int insertRepoSeq(RepoSeq seq);

 

mapper.xml中

<insert id="insertRepoSeq" parameterType="com.repobase.entity.RepoSeq"

useGeneratedKeys="true" keyProperty="id">

replace into t_repo_seq(date) values(CURRENT_DATE())

</insert>

必须写:useGeneratedKeys="true" keyProperty="id">

关键:replace into

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值