不同資料庫下的Mybatis對映檔案的寫法

2021-07-24 15:14:48 字數 1997 閱讀 1030

c#專案,oracle 、mysql 、sqlserver資料庫下,mybatis的對映檔案裡,一些常用功能的寫法

字串模糊匹配

oracle

like '%' || ## || '%')
mysql

user_name like '%$username$%'

sqlserver

user_name like '%' + #username# + '%'

資料庫分頁

oracle

select * from

(select

*,row_number() over(order by create_time desc) as rowindex

from management_news_info

(title like '%' || #title# || '%')

) twhere t.rowindex > #startnumber# and (#endnumber#)>=t.rowindex

startnumber 和 endnumber就是分頁的起止索引。

mysql

……) t order by $sort$ $order$ limit #pagesize# offset #pageindex# ]]>

sort為排序欄位名

order為 desc/asc

pagesize為頁面元素個數

pageindex為分頁索引 (從0開始)

sqlserver

select * from

(select

*,row_number() over(order by id) as rowindex

from sys_user

……) t

where t.rowindex > #startnumber# and (#endnumber#)>=t.rowindex

startnumber 和 endnumber就是分頁的起止索引。

動態傳入排序字段如下寫法

select

*,row_number()

over(

a.last_comment_time desc

a.no_of_comment desc

) as rowindex

根據傳入的orderbydes的值動態排序

時間比較

oracle

to_date(##,'yyyy-mm-dd')>=
使用to_date函式完成時間比較

mysql

create_time between #strdatefrom# and #strdateto#
利用between比較時間段

sqlserver

create_time >=#starttimefrom#
starttimefrom為傳入的時間字串

批量處理

oracle

待嘗試mysql

批量插入 

insert into ()

values

(#.#)

批量更新

update 

set = ##

where id in

#idlist#

idlist為傳入的陣列

sqlserver

待嘗試

mybatis資料庫框架

mybatis資料庫框架 sqlmapconfig配置檔案為mybatis的主配置檔案 配置項配置內容 載入所有的對映檔案到主配置檔案中 外掛程式配置 如mybatis的分頁外掛程式的配置 別名配置 別名配置主要是用於mybtis對映實體類的別名設定 事務配置 與spring整合之後,mybatis...

不同資料庫的連線

mysql string driver com.mysql.jdbc.driver 驅動程式 string url jdbc mysql localhost 3306 db name useunicode true characterencoding utf 8 連線的url,db name為資料庫...

不同資料庫的資料插入

1.同一伺服器不同資料庫表的資料插入 insert into gduapdev3.dbo.tbltmtasklist select from uap2.dbo.tbltmtasklist 表結構相同的情況 2.不同伺服器的資料庫表的資料插入 sql server2005中要先鏈結伺服器才執行sql ...