dao传递类参数 mybatis_MyBatis DAO层传递参数到mapping.xml 几种方式
Dao層傳遞參數(shù)到mapping.xml文件的幾種方式:(Mybatis傳值總結(jié))
第一種:傳遞單個(gè)參數(shù)
Dao層Code片段:
/**
*?根據(jù)articleId查詢XXXX詳情.
*
*?@param?articleId
*?@return?{@link?CmsProductArticle}
*/
public?CmsProductArticle?getCmsProductArticleByArticleId(Long?articleId);
Mapping片段:
SELECT
*
FROM
tableA?a,?tableB?b
WHERE
a.article_id?=?b.article_id
and?a.del_flag?!=?2
and?b.article_id?=?#{articleId}
傳遞單個(gè)參數(shù)時(shí)直接將parameterType設(shè)置成你傳入的參數(shù)類型(Long),直接用“#{}”獲得參數(shù),參數(shù)名必須與Dao層參數(shù)名一致。
resultType是SQL查詢結(jié)果返回的類型,Dao層接口返回是實(shí)體類,所以這里的resultType是實(shí)體類的路徑(按住ctrl鍵,鼠標(biāo)點(diǎn)擊路徑時(shí)可以直接進(jìn)入實(shí)體類時(shí)路徑正確)
第二種:傳遞多個(gè)參數(shù)
1,以注解標(biāo)記
Dao層Code片段:
/**
*?查詢companyId是否存在.
*
*?@param?companyId
*?@param?imgId
*?@return?int
*/
public?int?queryCompanyIdAndImgIdIsExist(@Param("companyid")?Long?companyId,?@Param("id")?Long?imgId);
Mapping片段:
select
count(1)
from?table_img?img
where?img.company_id?=?#{companyid}
and?img.id?=?#{id}
此時(shí)不需要寫parameterType,但是注意“#{}”內(nèi)的參數(shù)名必須跟你在Dao層中注解@Param("")內(nèi)定義的名稱一致。
2,直接傳遞參數(shù)
Dao層Code片段:
/**
*?查詢companyId是否存在.
*
*?@param?companyId
*?@param?imgId
*?@return?int
*/
public?int?queryCompanyIdAndImgIdIsExist(?Long?companyId,??Long?imgId);
Mapping片段:
select
count(1)
from?table_img?img
where?img.company_id?=?#{0}
and?img.id?=?#{1}
#{0}與#{1}是你在Dao里的參數(shù)順序
3,以Map傳遞參數(shù)
實(shí)現(xiàn)類Code片段:
Map?searchCondition?=?new?HashMap<>();
searchCondition.put("categoryId",?categoryId);
searchCondition.put("status",?status);
List?cmsProductArticles?=?cmsProdcutArticleDao.getCmsProductArticles(searchCondition);
Dao層Code片段:
/**
*?根據(jù)搜索條件查詢產(chǎn)品模板集.
*
*?@param?searchCondition
*?@return?List
*/
public?List?getCmsProductArticles(Map?searchCondition);
Mapping片段:
SELECT
*
FROM
table?a,?table?b
WHERE
a.article_id?=?b.article_id
and?a.del_flag?!=?2
and?a.category_id?=?#{categoryId}
and?a.status?=?#{status}
#{categoryId}、#{status}對(duì)應(yīng)你在Map里面的Key
第三種:以實(shí)體類傳遞
Dao層Code片段:
/**
*?更新.
*
*?@param?cmsProductArticle
*?@return
*/
public?void?updateCmsProductArticle(CmsProductArticle?cmsProductArticle);
Mapping片段:
UPDATE?table
SET
category_id?=?#{categoryId},?supply_type?=?#{supplyType},?pay_type?=?#{payType},?pay_value?=?#{payValue},?status?=?#{status}
WHERE
article_id?=?#{articleId}
and?del_flag?!=?2
#{categoryId}等對(duì)應(yīng)實(shí)體類中屬性。
天津雍博科技有限責(zé)任公司
歡迎大家訪問www.yongbosoft.com ,崇尚技術(shù),為您提供完美產(chǎn)品,優(yōu)質(zhì)服務(wù)!
總結(jié)
以上是生活随笔為你收集整理的dao传递类参数 mybatis_MyBatis DAO层传递参数到mapping.xml 几种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pdf导入ps颜色太浅_分享五个免费的p
- 下一篇: linux windows文件 编码_L