1. 程式人生 > 資訊 >小松宣佈與本田合作開發小型電動挖掘機

小松宣佈與本田合作開發小型電動挖掘機

大綱

1、mybatis中的連線池以及事務控制			原理部分了解,應用部分會用
	mybatis中連線池使用及分析
	mybatis事務控制的分析
2、mybatis基於XML配置的動態SQL語句使用		會用即可
	mappers配置檔案中的幾個標籤:
		<if>
		<where>
		<foreach>
		<sql>
3、mybatis中的多表操作				掌握應用
	一對多
	一對一(?)
	多對多

1、連線池:
我們在實際開發中都會使用連線池。
因為它可以減少我們獲取連線所消耗的時間。

2、mybatis中的連線池
mybatis連線池提供了3種方式的配置:
配置的位置:
主配置檔案SqlMapConfig.xml中的dataSource標籤,type屬性就是表示採用何種連線池方式。
type屬性的取值:
POOLED 採用傳統的javax.sql.DataSource規範中的連線池,mybatis中有針對規範的實現
UNPOOLED 採用傳統的獲取連線的方式,雖然也實現Javax.sql.DataSource介面,但是並沒有使用池的思想。
JNDI 採用伺服器提供的JNDI技術實現,來獲取DataSource物件,不同的伺服器所能拿到DataSource是不一樣。
注意:如果不是web或者maven的war工程,是不能使用的。
我們課程中使用的是tomcat伺服器,採用連線池就是dbcp連線池。

建立工程->Maven ->不勾create from ->com.yu -> day03_eesy_01datasourceAndTx(初始程式碼和day02_eesy_01mybatisCRUD一樣)
日誌輸出對比

3、mybatis中的事務
什麼是事務
事務的四大特性ACID
不考慮隔離性會產生的3個問題
解決辦法:四種隔離級別

它是通過sqlsession物件的commit方法和rollback方法實現事務的提交和回滾

4、mybatis中的多表查詢
表之間的關係有幾種:
一對多
多對一
一對一
多對多
舉例:
使用者和訂單就是一對多
訂單和使用者就是多對一
一個使用者可以下多個訂單
多個訂單屬於同一個使用者

	人和身份證號就是一對一
		一個人只能有一個身份證號
		一個身份證號只能屬於一個人

	老師和學生之間就是多對多
		一個學生可以被多個老師教過
		一個老師可以交多個學生
特例:
	如果拿出每一個訂單,他都只能屬於一個使用者。
	所以Mybatis就把多對一看成了一對一。

mybatis中的多表查詢:
	示例:使用者和賬戶
		一個使用者可以有多個賬戶
		一個賬戶只能屬於一個使用者(多個賬戶也可以屬於同一個使用者)
	步驟:
		1、建立兩張表:使用者表,賬戶表
			讓使用者表和賬戶表之間具備一對多的關係:需要使用外來鍵在賬戶表中新增
		2、建立兩個實體類:使用者實體類和賬戶實體類
			讓使用者和賬戶的實體類能體現出來一對多的關係
		3、建立兩個配置檔案
			使用者的配置檔案
			賬戶的配置檔案
		4、實現配置:
			當我們查詢使用者時,可以同時得到使用者下所包含的賬戶資訊
			當我們查詢賬戶時,可以同時得到賬戶的所屬使用者資訊

	示例:使用者和角色
		一個使用者可以有多個角色
		一個角色可以賦予多個使用者
	步驟:
		1、建立兩張表:使用者表,角色表
			讓使用者表和角色表具有多對多的關係。需要使用中間表,中間表中包含各自的主鍵,在中間表中是外來鍵。
		2、建立兩個實體類:使用者實體類和角色實體類
			讓使用者和角色的實體類能體現出來多對多的關係
			各自包含對方一個集合引用
		3、建立兩個配置檔案
			使用者的配置檔案
			角色的配置檔案
		4、實現配置:
			當我們查詢使用者時,可以同時得到使用者所包含的角色資訊
			當我們查詢角色時,可以同時得到角色的所賦予的使用者資訊