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数据库详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一文详解如何查看jdk版本及安装路径

    一文详解如何查看jdk版本及安装路径

    这篇文章主要给大家介绍了关于如何查看jdk版本及安装路径的相关资料,JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • java泛型基本知识及通用方法

    java泛型基本知识及通用方法

    这篇文章主要介绍了java泛型基础知识及通用方法,从以下几个方面介绍一下java的泛型: 基础, 泛型关键字, 泛型方法, 泛型类和接口,感兴趣的可以了解一下
    2019-04-04
  • Java多线程Atomic包操作原子变量与原子类详解

    Java多线程Atomic包操作原子变量与原子类详解

    这篇文章主要介绍了Java多线程Atomic包操作原子变量与原子类详解,简单介绍了Atomic,同时涉及java.util.concurrent中的原子变量,Atomic类的作用等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 详解DES加密算法的原理与Java实现

    详解DES加密算法的原理与Java实现

    DES 加密,是对称加密。对称加密,顾名思义,加密和解密的运算全都是使用的同样的秘钥。这篇文章主要为大家讲讲DES加密算法的原理与Java实现,需要的可以参考一下
    2022-10-10
  • 一文带你掌握Spring Security框架的使用

    一文带你掌握Spring Security框架的使用

    Spring Security是一款基于Spring框架的认证和授权框架,提供了一系列控制访问和保护应用程序的功能,本文将会对Spring Security框架进行全面详细的讲解,需要的可以参考下
    2023-05-05
  • Gradle使用Maven仓库的方法

    Gradle使用Maven仓库的方法

    本篇文章主要介绍了Gradle使用Maven仓库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • java数学工具类Math详解(round方法)

    java数学工具类Math详解(round方法)

    这篇文章主要为大家详细介绍了java数学工具类Math,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Java 模拟真正的并发请求详情

    Java 模拟真正的并发请求详情

    有时需要测试一下某个功能的并发性能,又不要想借助于其他工具,索性就自己的开发语言,来一个并发请求就最方便了。下文我们就来学习Java 如何模拟真正的并发请求
    2021-09-09
  • Java排序算法总结之堆排序

    Java排序算法总结之堆排序

    这篇文章主要介绍了Java排序算法总结之堆排序,详细分析了堆排序的原理与java实现技巧,需要的朋友可以参考下
    2015-05-05
  • Maven的使用之继承与聚合

    Maven的使用之继承与聚合

    这篇文章主要为大家详细介绍了Maven的继承和聚合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2023-04-04

最新评论