學習在IDEA中使用Mybatis(五)動態sql

2021-09-25 08:31:23 字數 3137 閱讀 9612

<?xml version="1.0" encoding="utf-8"?>

select * from tbl_employee

id=#

and last_name like #

and email=#

and gender=#

(3)執行test方法:

查詢的時候如果某些條件沒帶可能sql拼接會有問題。解決方法:

(1)給where後面加上1=1

(2)使用where標籤來將所有的查詢天劍包括在內,mybatis會將where標籤中拼接sql多的and或者or去掉。(注:where標籤只會去掉第乙個多出來的and或者or,即需要將and或者or放在sql語句開頭)

where標籤不能解決sql拼接以後後面多出的and或者or

prefix="":字首,trim標籤體中是整個字串拼串後的結果prefix給拼串後的整個字串加乙個字首

prefixoverrides="":字首覆蓋, 去掉整個字串前面多餘的字元

suffix="":字尾,suffix給拼串後的整個字串加乙個字尾

suffixoverrides="": 字尾覆蓋:去掉整個字串後面多餘的字元

id=# and

last_name like # and

email=# and

gender=#

帶了break的swtich-case:如果帶了id就用id查,如果帶了last_name就用last_name查;只會進入其中乙個

(1)新增方法

(2)增加配置

select * from tbl_employee 

id=#

last_name like #

email = #

gender = 0

(3)執行測試方法

(1)介面中新增方法

(2)新增配置

update tbl_employee 

last_name=#,

email=#,

gender=#

where id=#

select * from tbl_employee

#

應用1:使用foreach批量插入

sql語句:

insert into tbl_employee(last_name,email,gender,d_id)

values('tom','[email protected]','0',1),

('jcak','[email protected]','1',2)

配置檔案(1):

insert into tbl_employee(last_name,email,gender,d_id)

values

(#,#,#,#)

配置檔案(2):

測試方法:

兩個內建引數: 不只是方法傳遞過來的引數可以被用來判斷,取值。。。 mybatis預設還有兩個內建引數:

_parameter:代表整個引數

單個引數:_parameter就是這個引數

多個引數:引數會被封裝為乙個map;_parameter就是代表這個map

_databaseid:如果配置了databaseidprovider標籤。

_databaseid就是代表當前資料庫的別名oracle

bind:可以將ognl表示式的值繫結到乙個變數中,方便後來引用這個變數的值

select * from tbl_employee

where last_name like #

select * from employees

where last_name like #

抽取可重用的sql片段。方便後面引用

1、sql抽取:經常將要查詢的列名,或者插入用的列名抽取出來方便引用

2、include來引用已經抽取的sql:

3、include還可以自定義一些property,sql標籤內部就能使用自定義的屬性

include-property:取值的正確方式$,

#

insert into employees(

) select # last_name,# email from dual

employee_id,last_name,email

last_name,email,gender,d_id

在IDEA中使用Git

設定git主程式路徑 test測試一下路徑是否正確 如果是組長 前輩搭建好了骨架,放在遠端倉庫上,我們先從遠端倉庫clone專案到本地倉庫 也可以 vcs git clone idea會自動記錄檔案的改變,可以在local history中檢視,但沒有git好用。如果是自己搭建骨架,先建立本地倉庫,...

在IDEA中使用Linux命令

相比於windows系統,linux系統提供了大量豐富的命令列工具,可以簡單高效地進行工作。而大部分開發人員,都只知道linux系統的命令,不太清楚windows系統的命令,所以我們希望能夠在windows系統也能使用到linux系統的相關命令。gow就是這麼一款工具,在windows系統安裝gow...

在IDEA中使用Linux命令

相比於windows系統,linux系統提供了大量豐富的命令列工具,可以簡單高效地進行工作。而大部分開發人員,都只知道linux系統的命令,不太清楚windows系統的命令,所以我們希望能夠在windows系統也能使用到linux系統的相關命令。gow就是這麼一款工具,在windows系統安裝gow...