关于oracle主键自增长

来源:互联网 发布:达芬奇视频调色软件 编辑:程序博客网 时间:2024/06/04 17:40
create sequence a_seq       --创建序列名字为   a_seqminvalue 1               --  最小值为      1maxvalue 99999   ---  最大值为      99999   start with 1            ---   开始值       1increment by 1           ---每次增长值     1cache 100;               ----缓存大小      100用法   比如  你查询emp表的时候
关于selectkey
属性描述keyPropertyselectKey 语句结果应该被设置的目标属性。resultType结果的类型。MyBatis 通常可以算出来,但是写上也没有问题。MyBatis 允许任何简单类型用作主键的类型,包括字符串。order这可以被设置为 BEFORE 或 AFTER。如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 然后执行插入语句。如果设置为 AFTER,那么先执行插入语句,然后是 selectKey 元素-这和如 Oracle 数据库相似,可以在插入语句中嵌入序列调用。statementType和前面的相 同,MyBatis 支持 STATEMENT ,PREPARED 和CALLABLE 语句的映射类型,分别代表 PreparedStatement 和CallableStatement 类型。
需要返回值的时候:
<insert id="insertProduct-ORACLE" parameterClass="product">     
<selectKey resultClass="int" keyProperty="id" >    
        SELECT a_seq.NEXTVAL AS VALUE FROM DUAL    
    </selectKey>    
    insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#)    
</insert>
不需要返回值时可以直接写:
<insert id="insertProduct" parameterClass="product">
INSERT INTO PRODUCT ( PRD_ID, PRD_DESCRIPTION)
VALUES ( a_seq.NEXTVAL, #id#, #description#)
</insert>
                                             
0 0
原创粉丝点击