zoukankan      html  css  js  c++  java
  • 【oracle/mybatis】新建记录时给表的主键赋上序列的流水号

    严格来说,本文讲述的只是oracle的内容,但因为1Mpper类里写的SQL,故而就和MyBatis挨上了。

    表定义:

    create table mc_user(
        id number(8),
        deleted number(1) default 0,
        create_time timestamp default sysdate,
        create_uid number(8),
        update_time timestamp default sysdate,
        update_uid number(8),
        name nvarchar2(128),
        pswd nvarchar2(32),
        email nvarchar2(32),
        primary key(id)
    );

    序列定义:

    CREATE SEQUENCE mc_user_id_sqs
    INCREMENT BY 1
    START WITH 1
    NOMAXVALUE
    NOCYCLE
    NOCACHE;

    这个序列是专门为mc_user表的主键做的,下面我们让插入记录时让主键id自己取序列的下一个值:

    import org.apache.ibatis.annotations.Insert;
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Param;
    
    @Mapper
    public interface UserMapper {
        @Insert("insert into mc_user(id,name,pswd,email) values(mc_user_id_sqs.nextval,#{name},#{pswd},#{email})")
        int addUser(@Param("name") String name,
                    @Param("pswd") String pswd,
                    @Param("email") String email);
    }

    以后便不会为主键赋值烦恼了。

    END

  • 相关阅读:
    测试项目框架搭建
    项目实战(一)
    接口和HTTP协议(二)
    接口和http协议(一)
    什么是DFX测试
    完美解决安装在虚拟机中的CentOS7无法联网的问题
    RIP动态路由协议
    ensp实验--------RIP动态路由实验
    ensp实验--------telnet登录认证
    CSMA/CD协议
  • 原文地址:https://www.cnblogs.com/heyang78/p/15399623.html
Copyright © 2011-2022 走看看