6.2 基本SQL服務(wù)標(biāo)簽
1. selectSet標(biāo)簽
示例:
<selectSet id="getUserList" dsKey="ds" txRef="tx_01">
select * from user
</selectSet>
說(shuō)明
上面示例表示我們定義了一個(gè)ID為getUserList的基本服務(wù),服務(wù)使用ds所代表的數(shù)據(jù)源,使用tx_01所定義的事務(wù),執(zhí)行一條查詢語(yǔ)句,返回結(jié)果為一個(gè)查詢結(jié)果集,默認(rèn)的數(shù)據(jù)結(jié)構(gòu)為List<XCO>
.
Schema設(shè)計(jì)圖
selectSet節(jié)點(diǎn)屬性說(shuō)明
屬性名 | 用途及說(shuō)明 | 必填 | 取值 |
---|---|---|---|
id | 服務(wù)標(biāo)識(shí),需要唯一;作為輔助標(biāo)簽此項(xiàng)無(wú)意義,可省略 | Y | 用戶定義 |
dsKey | 所使用的數(shù)據(jù)源標(biāo)識(shí),如果用戶沒(méi)有則使用之前設(shè)置的默認(rèn)數(shù)據(jù)源。 | N | 用戶定義 |
txRef | 所使用的事務(wù)定義標(biāo)識(shí),如果用戶未指定,則根據(jù)setDefaultTransaction所定義的規(guī)則進(jìn)行默認(rèn)匹配,如果還未匹配上,系統(tǒng)則會(huì)跑出異常。 | N | 用戶定義 |
resultKey | 作為輔助標(biāo)簽時(shí)候使用,后續(xù)說(shuō)明 | N | 用戶定義 |
resultType | 返回類型,7. 數(shù)據(jù)映射 | N | 用戶定義 |
resultMap | 數(shù)據(jù)映射,7. 數(shù)據(jù)映射 | N | 用戶定義 |
fetchSize | 每次查詢的最大獲取條數(shù),默認(rèn)255 | N | 用戶定義 |
cacheUse | 緩存使用,此項(xiàng)將在緩存一節(jié)詳細(xì)說(shuō)明 | N | 用戶定義 |
2. selectOne標(biāo)簽
示例:
<selectOne id="getUser" dsKey="ds" txRef="tx_01">
select * from user where id = #{id}
</selectOne>
說(shuō)明
上面示例表示我們定義了一個(gè)ID為getUser的基本服務(wù),服務(wù)使用ds所代表的數(shù)據(jù)源,使用tx_01所定義的事務(wù),執(zhí)行一條查詢語(yǔ)句,返回結(jié)果為一條數(shù)據(jù)庫(kù)行記錄,默認(rèn)的數(shù)據(jù)結(jié)構(gòu)為XCO
.
Schema設(shè)計(jì)圖
selectOne節(jié)點(diǎn)屬性說(shuō)明
屬性名 | 用途及說(shuō)明 | 必填 | 取值 |
---|---|---|---|
id | 服務(wù)標(biāo)識(shí),需要唯一;作為輔助標(biāo)簽此項(xiàng)無(wú)意義,可省略 | Y | 用戶定義 |
dsKey | 所使用的數(shù)據(jù)源標(biāo)識(shí),如果用戶沒(méi)有則使用之前設(shè)置的默認(rèn)數(shù)據(jù)源。 | N | 用戶定義 |
txRef | 所使用的事務(wù)定義標(biāo)識(shí),如果用戶未指定,則根據(jù)setDefaultTransaction所定義的規(guī)則進(jìn)行默認(rèn)匹配,如果還未匹配上,系統(tǒng)則會(huì)跑出異常。 | N | 用戶定義 |
resultKey | 作為輔助標(biāo)簽時(shí)候使用,后續(xù)說(shuō)明 | N | 用戶定義 |
resultType | 返回類型,7. 數(shù)據(jù)映射 | N | 用戶定義 |
resultMap | 數(shù)據(jù)映射,7. 數(shù)據(jù)映射 | N | 用戶定義 |
fetchSize | 每次查詢的最大獲取條數(shù),默認(rèn)255 | N | 用戶定義 |
cacheUse | 緩存使用,此項(xiàng)將在緩存一節(jié)詳細(xì)說(shuō)明 | N | 用戶定義 |
3. selectVar標(biāo)簽
示例:
<selectVar id="getName" dsKey="ds" txRef="tx_01">
select name from user where id = #{id}
</selectVar>
說(shuō)明
上面示例表示我們定義了一個(gè)ID為getName的基本服務(wù),服務(wù)使用ds所代表的數(shù)據(jù)源,使用tx_01所定義的事務(wù),執(zhí)行一條查詢語(yǔ)句,返回結(jié)果為name字段,返回結(jié)果的數(shù)據(jù)類型視字段的數(shù)據(jù)庫(kù)數(shù)據(jù)類型而定。上述例子中name在數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型為VARCHAR(32)
,因此對(duì)應(yīng)的Java類型為String
。
Schema設(shè)計(jì)圖
selectVar節(jié)點(diǎn)屬性說(shuō)明
屬性名 | 用途及說(shuō)明 | 必填 | 取值 |
---|---|---|---|
id | 服務(wù)標(biāo)識(shí),需要唯一;作為輔助標(biāo)簽此項(xiàng)無(wú)意義,可省略 | Y | 用戶定義 |
dsKey | 所使用的數(shù)據(jù)源標(biāo)識(shí),如果用戶沒(méi)有則使用之前設(shè)置的默認(rèn)數(shù)據(jù)源。 | N | 用戶定義 |
txRef | 所使用的事務(wù)定義標(biāo)識(shí),如果用戶未指定,則根據(jù)setDefaultTransaction所定義的規(guī)則進(jìn)行默認(rèn)匹配,如果還未匹配上,系統(tǒng)則會(huì)跑出異常。 | N | 用戶定義 |
resultKey | 作為輔助標(biāo)簽時(shí)候使用,后續(xù)說(shuō)明 | N | 用戶定義 |
cacheUse | 緩存使用,此項(xiàng)將在緩存一節(jié)詳細(xì)說(shuō)明 | N | 用戶定義 |
4. update標(biāo)簽
示例:
<update id="updateName" dsKey="ds" txRef="tx_02">
update user set name = '張三' where id = #{id}
</update>
說(shuō)明
上面示例表示我們定義了一個(gè)ID為updateName的基本服務(wù),服務(wù)使用ds所代表的數(shù)據(jù)源,使用tx_01所定義的事務(wù),執(zhí)行一條更新語(yǔ)句,返回結(jié)果為其影響行數(shù)。
Schema設(shè)計(jì)圖
update節(jié)點(diǎn)屬性說(shuō)明
屬性名 | 用途及說(shuō)明 | 必填 | 取值 |
---|---|---|---|
id | 服務(wù)標(biāo)識(shí),需要唯一;作為輔助標(biāo)簽此項(xiàng)無(wú)意義,可省略 | Y | 用戶定義 |
dsKey | 所使用的數(shù)據(jù)源標(biāo)識(shí),如果用戶沒(méi)有則使用之前設(shè)置的默認(rèn)數(shù)據(jù)源。 | N | 用戶定義 |
txRef | 所使用的事務(wù)定義標(biāo)識(shí),如果用戶未指定,則根據(jù)setDefaultTransaction所定義的規(guī)則進(jìn)行默認(rèn)匹配,如果還未匹配上,系統(tǒng)則會(huì)跑出異常。 | N | 用戶定義 |
rowCount | 作為輔助標(biāo)簽時(shí)候使用,后續(xù)說(shuō)明 | N | 用戶定義 |
cacheClear | 緩存使用,此項(xiàng)將在緩存一節(jié)詳細(xì)說(shuō)明 | N | 用戶定義 |
5. delete標(biāo)簽
示例:
<delete id="deleteUser" dsKey="ds" txRef="tx_02">
delete from user where where id = #{id}
</delete>
說(shuō)明
上面示例表示我們定義了一個(gè)ID為deleteUser的基本服務(wù),服務(wù)使用ds所代表的數(shù)據(jù)源,使用tx_01所定義的事務(wù),執(zhí)行一條刪除語(yǔ)句,返回結(jié)果為其影響行數(shù)。
Schema設(shè)計(jì)圖
delete節(jié)點(diǎn)屬性說(shuō)明
屬性名 | 用途及說(shuō)明 | 必填 | 取值 |
---|---|---|---|
id | 服務(wù)標(biāo)識(shí),需要唯一;作為輔助標(biāo)簽此項(xiàng)無(wú)意義,可省略 | Y | 用戶定義 |
dsKey | 所使用的數(shù)據(jù)源標(biāo)識(shí),如果用戶沒(méi)有則使用之前設(shè)置的默認(rèn)數(shù)據(jù)源。 | N | 用戶定義 |
txRef | 所使用的事務(wù)定義標(biāo)識(shí),如果用戶未指定,則根據(jù)setDefaultTransaction所定義的規(guī)則進(jìn)行默認(rèn)匹配,如果還未匹配上,系統(tǒng)則會(huì)跑出異常。 | N | 用戶定義 |
rowCount | 作為輔助標(biāo)簽時(shí)候使用,后續(xù)說(shuō)明 | N | 用戶定義 |
cacheClear | 緩存使用,此項(xiàng)將在緩存一節(jié)詳細(xì)說(shuō)明 | N | 用戶定義 |
6. insert標(biāo)簽
示例:
<insert id="insertUser" dsKey="ds" txRef="tx_02">
insert into user(name, age) values('李四', 26);
</insert>
說(shuō)明
上面示例表示我們定義了一個(gè)ID為insertUser的基本服務(wù),服務(wù)使用ds所代表的數(shù)據(jù)源,使用tx_01所定義的事務(wù),執(zhí)行一條插入語(yǔ)句,返回結(jié)果可以是操作的影響行數(shù),也可以是插入操作后數(shù)據(jù)庫(kù)返回的自增主鍵,具體情況參照insert標(biāo)簽resultType
屬性的設(shè)置。
Schema設(shè)計(jì)圖
insert節(jié)點(diǎn)屬性說(shuō)明
屬性名 | 用途及說(shuō)明 | 必填 | 取值 |
---|---|---|---|
id | 服務(wù)標(biāo)識(shí),需要唯一;作為輔助標(biāo)簽此項(xiàng)無(wú)意義,可省略 | Y | 用戶定義 |
dsKey | 所使用的數(shù)據(jù)源標(biāo)識(shí),如果用戶沒(méi)有則使用之前設(shè)置的默認(rèn)數(shù)據(jù)源。 | N | 用戶定義 |
txRef | 所使用的事務(wù)定義標(biāo)識(shí),如果用戶未指定,則根據(jù)setDefaultTransaction所定義的規(guī)則進(jìn)行默認(rèn)匹配,如果還未匹配上,系統(tǒng)則會(huì)跑出異常。 | N | 用戶定義 |
resultType | 返回類型:這里只做標(biāo)識(shí)使用,如果用戶未設(shè)置此項(xiàng),則返回影響行數(shù),如果用戶設(shè)置此項(xiàng),無(wú)論任何內(nèi)容,則返回插入后的主鍵(數(shù)據(jù)庫(kù)自動(dòng)生成的)。建議如果需要返回主鍵,則使用固定的內(nèi)容標(biāo)識(shí),如ID。<br />關(guān)于返回主鍵,有以下幾種情況:<br />1.插入一條記錄,返回單個(gè)主鍵,其結(jié)果類型視主鍵的數(shù)據(jù)庫(kù)數(shù)據(jù)類型而定。<br />2.插入多條記錄,返回多個(gè)主鍵數(shù)組,數(shù)組元素類型視主鍵的數(shù)據(jù)庫(kù)數(shù)據(jù)類型而定。<br /> | N | 用戶定義 |
rowCount | 作為輔助標(biāo)簽時(shí)候使用,后續(xù)說(shuō)明 | N | 用戶定義 |
incrementKey | 作為輔助標(biāo)簽時(shí)候使用,后續(xù)說(shuō)明 | N | 用戶定義 |
cacheClear | 緩存使用,此項(xiàng)將在緩存一節(jié)詳細(xì)說(shuō)明 | N | 用戶定義 |