Mybatis註解方式操作Oracle資料庫詳解
阿新 • • 發佈:2020-12-01
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,...);
例子:
@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,...) select * from ( select value01,... from dual union select value01,... from dual )
例子:
@Insert({"<script>","insert into t_sales_date_amount (amount,sale_date,area_id) select A.* from ("," <foreach collection='salesDateAmountList' item='item' index='index' separator='UNION ALL'>"," SELECT"," #{item.salesAmount}," #{item.salesDateTime}," #{item.areaId}"," from dual"," )A","</script>" })
以上這篇Mybatis註解方式操作Oracle資料庫詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。