Oracle如何创建表的自增主键ID—SEQ序列和Mybatis.xml的selectKey代码
程序员文章站
2022-03-10 15:42:44
Oracle创建Student学生表-- ------------------------------ Table structure for STUDENT_INFO-- ----------------------------DROP TABLE "SCOTT"."STUDENT_INFO";CREATE TABLE "SCOTT"."STUDENT_INFO" ( "STUDENT_ID" NUMBER NOT NULL, "STUDENT_NO" VARCHAR2(10 BYTE)...
Oracle创建Student学生表
-- ----------------------------
-- Table structure for STUDENT_INFO
-- ----------------------------
DROP TABLE "SCOTT"."STUDENT_INFO";
CREATE TABLE "SCOTT"."STUDENT_INFO" (
"STUDENT_ID" NUMBER NOT NULL,
"STUDENT_NO" VARCHAR2(10 BYTE),
"STUDENT_NAME" VARCHAR2(14 BYTE)
)
TABLESPACE "USERS"
LOGGING
NOCOMPRESS
PCTFREE 10
INITRANS 1
STORAGE (
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS 2147483645
BUFFER_POOL DEFAULT
)
PARALLEL 1
NOCACHE
DISABLE ROW MOVEMENT
;
COMMENT ON COLUMN "SCOTT"."STUDENT_INFO"."STUDENT_ID" IS '学生ID';
COMMENT ON COLUMN "SCOTT"."STUDENT_INFO"."STUDENT_NO" IS '学生编号';
COMMENT ON COLUMN "SCOTT"."STUDENT_INFO"."STUDENT_NAME" IS '学生名称';
-- ----------------------------
-- Primary Key structure for table STUDENT_INFO
-- ----------------------------
ALTER TABLE "SCOTT"."STUDENT_INFO" ADD CONSTRAINT "SYS_C0012237" PRIMARY KEY ("STUDENT_ID");
-- ----------------------------
-- Checks structure for table STUDENT_INFO
-- ----------------------------
ALTER TABLE "SCOTT"."STUDENT_INFO" ADD CONSTRAINT "SYS_C0012236" CHECK ("STUDENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
ALTER TABLE "SCOTT"."STUDENT_INFO" ADD CONSTRAINT "SYS_C0012238" CHECK ("STUDENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
创建SEQ序列
CREATE SEQUENCE SEQ_STUDENT_INFO
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOMINVALUE
CACHE 20
Mybatis.xml
<!-- 新增学生信息 -->
<insert id="insertStudentInfo" parameterType="StudentInfo" useGeneratedKeys="true" keyProperty="studentId">
<selectKey keyProperty="studentId" resultType="long" order="BEFORE">
SELECT seq_student_info.NEXTVAL as studentId FROM DUAL
</selectKey>
insert into student_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="studentId != null "> student_id,</if>
<if test="studentNo != null and studentNo != '' "> student_no,</if>
<if test="studentName != null and studentName != '' "> student_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="studentId != null ">#{studentId},</if>
<if test="studentNo != null and studentNo != '' ">#{studentNo},</if>
<if test="studentName != null and studentName != '' ">#{studentName},</if>
</trim>
</insert>
本文地址:https://blog.csdn.net/weixin_44316527/article/details/110665127