解决Mybatis generator一键生成Oracle数据库表,使用序列(sequence)的问题

今天在做项目的中,插入一张表的id需要使用到oracle创建的序列作为id,我是这样解决的

先创建一个Mapper:

package com.sxdx.dao.mapper.extend;

/**
 * 查询到当前SAwardsItemId序列的值,为后续插入做准备
 * @author Attention
 */
public interface SAwardsItemIdMapper {

    /**
     * 查询出当前SAwardsItemId序列的值
     * @return
     */
    long selectSAwardsItemId();

}

在创建一个Mappe.xml:





  

测试:

/**
 * @author Attention
 * @version1.0 2019/11/27
 */
@RestController
@RequestMapping("/test")
public class TestController {

    @Autowired
    private SAwardsItemIdMapper sAwardsItemIdMapper;


    @GetMapping("selectSAwardsItemId")
    public long selectSAwardsItemId(){
        long i = sAwardsItemIdMapper.selectSAwardsItemId();
        return i;
    }

}

最后使用,查询出来的序列值,再当作id插入到数据库表中。

这样虽然能实现功能,但是有可能效率有点低。

你可能感兴趣的:(科研项目)