美文网首页
Spring Boot + MyBatis 创建Oracle表格

Spring Boot + MyBatis 创建Oracle表格

作者: 一杉风雨 | 来源:发表于2018-10-02 16:53 被阅读0次

背景

项目中有对数据库表格动态建立自增主键的需求,而Oracle数据库不能像MySQL一样简单的使用auto_increment primary key。需要分别创建序列触发器,在这里加以记录。

内容

<!--假设表已经存在-->
<!--创建序列-->
<update id="createSequence" parameterType="String">
        CREATE SEQUENCE ${value}
        INCREMENT BY 1 -- 每次加几个
        START WITH 1 -- 从1开始计数
        NOMAXVALUE -- 不设置最大值
        NOCYCLE -- 一直累加,不循环
        NOCACHE -- 不建缓冲区
</update>

<!--创建触发器, statementType为必须-->
<update id="createTrigger" parameterType="com.guanshan.model.clientlist.TriggerInfo" statementType="STATEMENT">
        CREATE TRIGGER ${triggerName} BEFORE
        INSERT ON ${tableName} FOR EACH ROW WHEN (NEW.ID IS NULL)
        BEGIN 
            SELECT ${sequenceName}.nextval INTO : NEW.ID FROM dual;
        END ;
</update>

备注

statementType属性有三种值(默认的值是preparedstatement):
statement
preparedstatement
callablestatement

Statement: 每次执行sql语句,数据库都要执行sql语句的编译
PreparedStatement: 预编译sql语句
callablestatement: 调用存储过程

相关文章

网友评论

      本文标题:Spring Boot + MyBatis 创建Oracle表格

      本文链接:https://www.haomeiwen.com/subject/zmkaoftx.html