Mybatis注解方式操作Oracle数据库详解

 更新时间:2020年11月30日 10:51:17   作者:西城十七妹  
这篇文章主要介绍了Mybatis注解方式操作Oracle数据库详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.新增多行数据

@Insert({"<script>insert all " +
   "<foreach collection=\"list\" index=\"index\" item=\"item\" open=\"\" separator=\"\" close=\"\">" +
   " into s_user (user,username) values " +
   "(#{item.user},#{item.username}) " +
   "</foreach>" +
   " select 1 from dual " +
   "</script>"})

2.执行多条SQL语句

特别注意:open属性设置为begin,close设置为;end;

@Update({"<script>" +
   "<foreach collection=\"list\" separator=\";\" item=\"item\" open=\"begin\" close=\";end;\">" +
   "update s_user set user=#{item.user},username=#{item.username} where id=#{item.id}" +
   "</foreach>" +
   "</script>"})

ORACLE中通过begin...end;来执行多行sql语句,各条sql之间用;分割

补充知识:使用mybatis注解批量插入Oracle数据库与批量插入MySQL数据库区别

批量插入MySQL语法

insert into table_name values (column01, column02, ...), (value01, value02, ...),

(value01, value02, ...);

例子:

@Select({"<script>" ,
   "insert into t_sales_target (area_id, area_name, shop_id, shop_name, year) values " ,
   " <foreach collection='saleTargetList' item='item' index='index' separator=','>",
   " (",
   " #{item.areaId},",
   " #{item.areaName},",
   " #{item.shopId},",
   " #{item.shopName},",
   " #{item.year},"
   " )",
   " </foreach>",
   "</script>"
 } )

批量插入Oracle语法

insert into table_name (column01, column02, ...)
 select * from (
  select value01, value02, ... from dual
  union
  select value01, value02, ... from dual
  union
  select value01, value02, ... from dual
 )

例子:

 @Insert({"<script>",
   "insert into t_sales_date_amount (amount, sale_date, shop_id, area_id) select A.* from (",
   " <foreach collection='salesDateAmountList' item='item' index='index' separator='UNION ALL'>",
   " SELECT",
   " #{item.salesAmount},",
   " #{item.salesDateTime},",
   " #{item.shopId},",
   " #{item.areaId}",
   " from dual",
   " </foreach>",
   " )A",
   "</script>"
 })

以上这篇Mybatis注解方式操作Oracle数据库详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解析Java编程中设计模式的开闭原则的运用

    解析Java编程中设计模式的开闭原则的运用

    这篇文章主要介绍了解析Java编程中设计模式的开闭原则的运用,开闭原则多应用于Java程序的扩展开发方面,需要的朋友可以参考下
    2016-02-02
  • 使用spring框架实现数据库事务处理方式

    使用spring框架实现数据库事务处理方式

    这篇文章主要介绍了使用spring框架实现数据库事务处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java超详细讲解接口的实现与用法

    Java超详细讲解接口的实现与用法

    Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为
    2022-04-04
  • springmvc分层领域模型概念详解

    springmvc分层领域模型概念详解

    本文核心为分层领域模型(VO , PO , BO, DAO ,POJO等)概念的个人理解,结合springmvc浅谈分层领域模型的相关知识,感兴趣的朋友跟随小编一起看看吧
    2021-08-08
  • SpringBoot MongoCustomConversions自定义转换方式

    SpringBoot MongoCustomConversions自定义转换方式

    这篇文章主要介绍了SpringBoot MongoCustomConversions自定义转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Java视频断点上传的实现示例

    Java视频断点上传的实现示例

    断点续传指的是在下载或上传时,将下载或上传任务人为的划分为几个部分,本文主要介绍了Java视频断点上传的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Java concurrency线程池之Callable和Future_动力节点Java学院整理

    Java concurrency线程池之Callable和Future_动力节点Java学院整理

    这篇文章主要为大家详细介绍了Java concurrency线程池之Callable和Future,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • JAVA比较两张图片相似度的方法

    JAVA比较两张图片相似度的方法

    这篇文章主要介绍了JAVA比较两张图片相似度的方法,涉及java针对图片像素操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • spring WebSocket示例详解

    spring WebSocket示例详解

    websocket是Html5新增加特性之一,目的是浏览器与服务端建立全双工的通信方式,本篇文章主要介绍了spring WebSocket示例详解 ,有兴趣的可以了解一下。
    2017-01-01
  • Curator实现zookeeper的节点监听详解

    Curator实现zookeeper的节点监听详解

    这篇文章主要介绍了Curator实现zookeeper的节点监听详解,Curtor框架中一共有三个实现监听的方式,一种是NodeCache监听指定节点,一种是pathChildrenCache监听子节点,一种是TreeCache可以监控所有节点 相当于以上两种的合集,需要的朋友可以参考下
    2023-12-12

最新评论