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

  • 相关阅读:
    Intern Day16
    粉红
    开始还房贷!
    Sonnet-十四行诗
    CSS兼容大全
    TCL电视直播软件
    《Linux权威指南》阅读笔记(2)
    《Linux权威指南》阅读笔记(1)
    Linux crontab定时执行任务 命令格式与详细例子
    linux下find查找命令用法
  • 原文地址:https://www.cnblogs.com/heyang78/p/15399623.html
Copyright © 2011-2022 走看看