iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >mybatis使用oracle进行添加数据的方法
  • 278
分享到

mybatis使用oracle进行添加数据的方法

2024-04-02 19:04:59 278人浏览 八月长安
摘要

  本次博主主要进行oralce数据库开发,好久不用oracle,有很多知识点也忘的差不多了,本次主要是复习一下工作中主要使用的一些sql语句编写; 查询 查询语句都是正常的,但是需

  本次博主主要进行oralce数据库开发,好久不用oracle,有很多知识点也忘的差不多了,本次主要是复习一下工作中主要使用的一些sql语句编写;

查询

查询语句都是正常的,但是需要注意的是oracle数据库在查询的时候,表名使用别名的时候,请不要使用as关键字,只有Mysql数据库才可以使用,oracle只支持字段名别名可以使用as关键字。

  增加

  添加数据的时候,我们后台很可能使用到添加后的主键id,此时也跟mysql不一样,mybatis只要配置一下insert属性就可以了,比如:


<insert id="add" keyProperty="receiptId" useGeneratedKeys="true"> 

  但是这样不支持oracle,因为oracle没有自增的主键,只能自己依靠自己定义的自增序列来为主键id赋值;前提是需要知道序列名,比如:


<insert id="add">
        <selectKey  keyProperty="receiptId" resultType="long" order="BEFORE">
            select SEQ_Table.nextval from dual
        </selectKey>
        insert into SA_0511_1IS(id)values(#{receiptId})
 </insert>   

  序列是这样创建的:


create sequence SEQ_Table \\序列名
increment by 1  \\步长为1
start with 1 \\从1开始
maxvalue 999999999; \\最大值

  这样我们就可以使用我们自定义的序列了

  批量增加时,是不会给主键id赋值的,只能插入,有两种方法:

  第一种,表中没有主键id,都是其他基本信息和外部传进来的关联id,


<insert id="batchAdd">
        insert all
        <foreach collection="entities" item="entity" separator="  " open=" " close=" ">
        into SA_T(
            RECEIPT_ID,GoODS_NAME,
            REG_USR_ID,REG_DT,UPDT_USR_ID,UPDT_DT
        )values
            (#{entity.receiptId},#{entity.goodsName},
            #{entity.regUsrId},#{entity.regDt},#{entity.updtUsrId},#{entity.updtDt})
        </foreach>
        select 1 from dual
    </insert>

  第二种:单表添加时,需要根据序列值来增加,用第一种方法是不可行的,比如:


<insert id="batchAdd">
        insert all
        <foreach collection="entities" item="entity" separator="  " open=" " close=" ">
        into SA_T(
            RECEIPT_ID,GOODS_NAME,
            REG_USR_ID,REG_DT,UPDT_USR_ID,UPDT_DT
        )values
            (SEQ_T.nextval,#{entity.goodsName},
            #{entity.regUsrId},#{entity.regDt},#{entity.updtUsrId},#{entity.updtDt})
        </foreach>
        select 1 from dual
    </insert>

  这样之后,只会出现都是同一个主键id,而不会是逐渐增加的,所以要用下面这种方式:


<insert id="batchAdd">
        insert
            into SA_0511_1IS(RECEIPT_ID,DEALER_CODE)
 select SEQ_SA_0511_1IS.nextval,t.* from (
        <foreach collection="entities" item="entity" separator="uNIOn all">
select #{entity.dealerCode} from dual
</foreach>
        ) 

  这是正常的增加,还有一些insert into 。。select。。from这样的从其他表直接查询过来的,也需要注意一下,字段名一定要一样,因为没有指定那些字段需要被添加,所以要都一样


<insert id="findAndAddByVinNoList">
        insert into SA_T_LOG
        select * from SA_T
        where VIN in
        <foreach collection="entities" item="vin" separator="," open="(" close=")" >
            #{vin}
        </foreach>
    </insert>

  剩下的就是业务逻辑了,本人就不关注了。知识都是需要自己巩固复习的,要不然会忘的一干二净,刚接触的时候,连序列都忘了是啥了;相当年自己都可以在oracle中声明对象一些骚操作也都忘了

到此这篇关于mybatis使用oracle进行添加数据的方法的文章就介绍到这了,更多相关mybatis oracle添加数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: mybatis使用oracle进行添加数据的方法

本文链接: https://www.lsjlt.com/news/124744.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis使用oracle进行添加数据的方法
      本次博主主要进行oralce数据库开发,好久不用oracle,有很多知识点也忘的差不多了,本次主要是复习一下工作中主要使用的一些sql语句编写; 查询 查询语句都是正常的,但是需...
    99+
    2024-04-02
  • 怎么在mybatis中使用oracle添加数据
    这期内容当中小编将会给大家带来有关怎么在mybatis中使用oracle添加数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。查询查询语句都是正常的,但是需要注意的是oracle数据库在查询的时候,表名使...
    99+
    2023-06-14
  • mysql添加多行数据的方法
    mysql添加多行数据的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql可以通过insert语句一次性插入多条...
    99+
    2024-04-02
  • 如何使用MyBatis进行数据存储的加密、解密
    背景:在大部分的系统中,出于用户的隐私安全考虑,都会对数据库内容进行加密,那么在编写业务代码逻辑时加密也不太现实。于是通用的加解密插件就应运而生,本文将采用mybatis的拦截器作为基础进行实现。 思路:我们可以通过mybatis...
    99+
    2023-08-17
    mybatis java 开发语言
  • oracle添加多条数据的方法是什么
    要向Oracle数据库中添加多条数据,可以使用INSERT INTO语句一次插入多个记录。以下是一种常用的方法: INSERT IN...
    99+
    2024-04-09
    oracle
  • oracle怎么同时添加多行数据
    要同时添加多行数据到Oracle数据库中,可以使用INSERT ALL语句。 INSERT ALL语句允许一次性插入多个行到一个或多...
    99+
    2024-04-09
    oracle
  • php使用Aes进行加密的方法
    这篇文章将为大家详细讲解有关php使用Aes进行加密的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php可以查看用户的标识判断用户是否登录,但是此标识可以修改,修改之后就可以获取到修改的用户所有信息...
    99+
    2023-06-14
  • navicat premium添加数据库的方法
    小编给大家分享一下navicat premium添加数据库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先打开Navic...
    99+
    2024-04-02
  • MySQL表中添加数据的方法
    1、在t_student数据库表中插入数据 注意:插入的数据必须和数据表字段一一对应 insert into t_student values (1,'张三','男',18,'2022-5-8','软件1班','123@...
    99+
    2022-11-19
    mysql添加数据 mysql表中添加数据
  • oracle并行添加索引的方法是什么
    Oracle中进行并行添加索引的方法是使用并行DML(Data Manipulation Language)语句。具体步骤如下:1....
    99+
    2023-09-29
    oracle
  • 使用Vue-axios进行数据交互的方法
    目录1、安装axios2、axios的使用3、讲一下代理proxyTable的使用1、安装axios 打开cmd命令行工具cd到项目目录输入以下命令 npm install axio...
    99+
    2024-04-02
  • mysql中添加数据库的方法
    这篇文章给大家分享的是有关mysql中添加数据库的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql中添加数据库的方法:使用“CREATE DATABASE”语法来创建...
    99+
    2024-04-02
  • Python Pandas多种添加行列数据方法总结
    目录前言1. 增加列数据2. 增加行数据补充:pandas根据现有列新添加一列总结前言 发现自己学习python 的各种库老是容易忘记,所有想利用这个平台,记录和分享一下学习时候的知...
    99+
    2024-04-02
  • listview添加数据的方法是什么
    在使用ListView控件时,可以通过以下方法向ListView添加数据: 使用ArrayAdapter: ArrayAdapt...
    99+
    2023-10-26
    listview
  • jdbc添加数据的方法是什么
    使用 JDBC 添加数据的方法通常包括以下步骤: 建立与数据库的连接:通过 DriverManager 类的 getConnect...
    99+
    2024-04-02
  • 如何对ADO.NET 数据集进行添加窗体
    这篇文章主要讲解了“如何对ADO.NET 数据集进行添加窗体”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何对ADO.NET 数据集进行添加窗体”吧!数据集介绍:提供什么是 ADO.NET...
    99+
    2023-06-17
  • java添加数据的方法有哪些
    在Java中,添加数据的方法有以下几种:1. 使用数组:可以使用数组来添加数据。首先需要定义一个数组,然后使用索引来添加数据。例如:int[] arr = new int[10]; arr[0] = 1;2. 使用ArrayList:A...
    99+
    2023-08-09
    java
  • Mybatis-Plus批量添加或修改数据的三种方式
    SpringBoot批量添加或修改数据的三种方式 方式一.Mybatis-plus 提供的 saveOrUpdateBatch 提供的方法 是遍历每一个元素,判断主键是否存在,如果存在则做更新,不存在...
    99+
    2023-10-12
    spring boot mybatis java mybatis-plus
  • 怎么进行Oracle Data Redaction数据加密
    今天就跟大家聊聊有关怎么进行Oracle Data Redaction数据加密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 1.Oracle R...
    99+
    2024-04-02
  • oracle中commit之后进行数据回滚的方法
    commit之后 第一种: 记住大概的时间,获取前大概时间的数据。 select * from Test as of timestamp to_timestamp('2...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作