MyBatis 第2章 單錶CURD操作

2021-08-28 07:08:53 字數 3206 閱讀 6071

欄位名與屬性名不一致:

方法一:只在查詢中會出現此類問題,使用別名即可。

select tid id,tname name,tage age,score from student where name like '%'#'%';

tid:欄位名

id:屬性名

方法二:增加字段,設定對映

>

select id,name,age,score from student where id = #;

select id,name,age,score from student where name like '%'#'%';

示例:

public class mytest  

@after

public void after()

@test

public void test01()

新插入的物件自動返回id問題

insert into student(name,age,score) values(#,#,#)

select @@identity

多查詢條件無法整體接收問題:

表單給出的查詢條件是無法將其封裝成乙個物件的,也就是說查詢方法只能攜帶多個引數,而不能將引數進行封裝成乙個物件。有兩種解決方案:

①:將這多個引數封裝成乙個map

介面:

public inte***ce istudentdao

test類:

public void test01()

}

select id,name,age,score

from student

where name like '%'#'%'

and age > #

and score > #

②:多個引數

介面:

public inte***ce istudentdao

測試類:

@test

public void test01()

}

select id,name,age,score

from student

where name like '%'#'%'

and age > #

#{}可以放什麼:

1)引數物件的屬性

2)隨意內容,此時#{}是個佔位符

3)引數為map時的key

4)引數為map時,當key對應的value為物件時,key的屬性

5)引數的索引號

動態sql:

幾個標籤的使用。

(1) if

屬性:test = 判斷條件

select id,name,age,score

from student

where 1 = 1

and name like '%'#'%'

0">

and age > #;

(2) where

無屬性

select id,name,age,score

from student

and name like '%'#'%'

0">

and age > #;

where 標籤替代了where關鍵字的使用,可以自行根據需要省略and,所以可以在確保第乙個條件不成立的情況下,保證第二個條件能正確判斷。

(3)choose標籤

select id,name,age,score

from student

and name like '%'#'%'

0">

and age>#

1 = 2

choose-when-otherwise 相當於 switch-case-default,當前邊條件成立時,後邊程式不執行。

(4)的使用

select id,name,age,score

from student

0">

where id in

#

@test

public void test02();

liststudents = dao.selectstudentbyforeach(ids);

for (student student : students)

} @test

public void test03()

}

foreach:針對要查詢的條件在乙個陣列或者list中。

屬性:collection-集合型別(array 、list)

open-開始的標記 (

close-結束的標記 )                          sql拼接

separator-條件集合的分割標記

item-每乙個條件值

foreach 用於遍歷條件為物件的集合

select id,name,age,score

from student

0">

where id in

#

相當於:

select id,name,age,score

from student

where id in (1,3)

@test

public void test04()

}

唯一與之前不同的是:遍歷時,條件集合為物件的屬性的集合。

select

from student

0">

where id in

#id,name,age,score

(5)的使用,sql段的使用,其作用完全是代替作用。 

第2章 線性表

一.線性結構 1.存在唯一乙個被稱作 第乙個 的資料元素。2.存在唯一乙個被稱作 最後乙個 的資料元素。3.除第乙個元素外,所以其它元素都只有乙個前驅,第乙個元素沒有前驅。4.除最後乙個元素外,所以其它元素都只有乙個後繼,最後乙個元素沒有後繼。5.線性表中的元素必須具有相同特性,即屬同一資料物件。二...

第2章 線性表

線性結構的特點是,在資料元素的非空有限集合中,除第乙個元素無直接前驅結點,最後乙個元素無直接後繼結點外,其餘每個元素有且僅有乙個直接前驅結點和乙個直接後繼結點。線性表的特徵 1 同一性 線性表由同類資料元素組成,每乙個ai必須屬於同一資料物件。2 有窮性 線性表由有限個資料元素組成,表長度就是表中資...

做單 第2章 沒戲的專案

做單 第2章 沒戲的專案 2.1 victoria 缺點 愛佔小便宜 有人告訴你,公司會發生什麼變化,然後給你建議。2.2 銷售決策採取三權分立的管理模式 isu為行業銷售部,決定銷售策略,具體工作是負責聯絡和分析客戶,並在客戶和產品之間協調 stg為硬體銷售部,決定 利潤以及產品的銷售策略,具體工...