mybatis plus向oracle中插入数据 主键自增

直接上代码:

@Data
@TableName(value="testplus")
//这里指向当前表的序列
@KeySequence(value = "SEQ_TESTPLUS_ID", clazz = Integer.class)
public class TestPlus implements Serializable {
    /**
     * 主键
     * @TableId中可以决定主键的类型,不写会采取默认值,默认值可以在yml中配置
     * AUTO: 数据库ID自增
     * INPUT: 用户输入ID
     * ID_WORKER: 全局唯一ID,Long类型的主键
     * ID_WORKER_STR: 字符串全局唯一ID
     * UUID: 全局唯一ID,UUID类型的主键
     * NONE: 该类型为未设置主键类型
     */
     //此处添加@TableId注解
    @TableId(value = "ID", type = IdType.INPUT)
    private int id;
    private String name;
    private int age;
    private String gender;
    private double score;
}

实体类中需要添加序列@KeySequence(value = “SEQ_TESTPLUS_ID”, clazz = Integer.class),以及 @TableId(value = “ID”, type = IdType.INPUT)说明id字段。

mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  # Sequence序列接口实现类配置
  global-config:
    key-generator: com.baomidou.mybatisplus.incrementer.OracleKeyGenerator

在application.yml配置文件中添加全局配置,使用序列生成id。

@Mapper
public interface TestPlusMapper extends BaseMapper {
}

mapper层

@Service
public class TestPlusServiceImpl extends ServiceImpl implements TestPlusService {
}

实现类层

public interface TestPlusService extends IService {
}

service层

@RequestMapping(value="insert",method = RequestMethod.POST)
    public String insert(@RequestBody Map paramMap){
        TestPlus testPlus = new TestPlus();
        testPlus.setAge((Integer) paramMap.get("age"));
        testPlus.setGender((String)paramMap.get("gender"));
        testPlus.setName((String)paramMap.get("name"));
        testPlus.setScore((Integer) paramMap.get("score"));
        boolean flag = testPlusService.insert(testPlus);
        if(flag){
            return "添加成功";
        }
        return "添加失败";
    }

controller层,我是用的postman测试,testPlusService.insert(testPlus)方法返回的是boolean类型,返回ture代表添加成功,直接将实体类传入即可添加数据,service、实现类、mapper层不用写任何方法。刚开始学习用,哪里不对大神指正!

你可能感兴趣的:(mybatis plus向oracle中插入数据 主键自增)