欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis?@Select注解介紹:基本用法與動態(tài)SQL拼寫方式

 更新時間:2022年07月11日 10:44:26   作者:MyBatis中文官網(wǎng)  
這篇文章主要介紹了MyBatis?@Select注解介紹:基本用法與動態(tài)SQL拼寫方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

1、@Select注解基本用法

@Select注解的目的是為了取代xml中的select標(biāo)簽,只作用于方法上面。

下面看一下@Select注解的源碼介紹:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Select
{
? ? String[] value();
}

從上述可以看到兩點(diǎn)信息:

(1)@Select注解只能修飾方法

(2)@Select注解的值是字符數(shù)組。

所以,@Select注解的用法是這樣的:

@Select({ "select * from xxx", "select * from yyy" })
Person selectPersonById(Integer id);

雖然@Select注解的值是字符數(shù)組,但是真正生效的應(yīng)該是最后那條SQL語句。這一點(diǎn)請大家要留意一下。

2、@Select注解動態(tài)SQL拼寫

普通的字符串值,只能實(shí)現(xiàn)變量的替換功能,如下所示,

@Select("select * from t_person where id = #{id}")
Person selectPersonById(Integer id);

如果要想實(shí)現(xiàn)復(fù)雜的邏輯判斷,則需要使用標(biāo)簽,如下所示:

@Select("<script> select * from t_person where id = #{id}?
<when test='address !=null'> and address = #{address}?
</when> </script>")
Person selectPersonById(Integer id);

其實(shí),標(biāo)簽并非是@Select注解專用的,其他的注解,例如@Insert,@Update等等,都可以使用的。

@Select動態(tài)參數(shù)參考

今天發(fā)現(xiàn)一個問題,使用標(biāo)簽進(jìn)行查詢語句的拼接時,逗號和引號老處理不好,所以在此記錄下,供以后參考

    @Select("<script>" +
            " select * from tb_crowd_fund_person_record a,tb_crowd_fund_info b where b.id=a.crowd_fund_info_id " +
            " <if test='activeStatus != null and activeStatus != \"\"'> "+
            "  and b.active_status=#{activeStatus} " +
            " </if> " +
            " <if test='createUser != null and createUser != \"\"'> "+
            "  and a.create_user=#{createUser} " +
            " </if> " +
            "</script>")
    List<String> findByType(Map<String,String> map);

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • SpringCloud重試機(jī)制配置詳解

    SpringCloud重試機(jī)制配置詳解

    本篇文章主要介紹了SpringCloud重試機(jī)制配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java實(shí)現(xiàn)去掉字符串重復(fù)字母的方法示例

    Java實(shí)現(xiàn)去掉字符串重復(fù)字母的方法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)去掉字符串重復(fù)字母的方法,涉及java針對字符串的遍歷、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Java Scanner輸入兩個數(shù)組的方法

    Java Scanner輸入兩個數(shù)組的方法

    今天小編就為大家分享一篇Java Scanner輸入兩個數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • idea不能搜索任何插件的問題解決

    idea不能搜索任何插件的問題解決

    本文主要介紹了idea不能搜索任何插件的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 使用logback實(shí)現(xiàn)按自己的需求打印日志到自定義的文件里

    使用logback實(shí)現(xiàn)按自己的需求打印日志到自定義的文件里

    這篇文章主要介紹了使用logback實(shí)現(xiàn)按自己的需求打印日志到自定義的文件里,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • scala 匿名函數(shù)案例詳解

    scala 匿名函數(shù)案例詳解

    Scala支持一級函數(shù),函數(shù)可以用函數(shù)文字語法表達(dá),即(x:Int)=> x + 1,該函數(shù)可以由一個叫作函數(shù)值的對象來表示,這篇文章主要介紹了scala 匿名函數(shù)詳解,需要的朋友可以參考下
    2023-03-03
  • SpringBoot中Mockito單元測試入門

    SpringBoot中Mockito單元測試入門

    單元測試在很多地方都用的到,本文主要介紹了SpringBoot中Mockito單元測試入門,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • 圖書管理系統(tǒng)java代碼實(shí)現(xiàn)

    圖書管理系統(tǒng)java代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了java代碼實(shí)現(xiàn)的圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 仿京東平臺框架開發(fā)開放平臺(包含需求,服務(wù)端代碼,SDK代碼)

    仿京東平臺框架開發(fā)開放平臺(包含需求,服務(wù)端代碼,SDK代碼)

    現(xiàn)在開放平臺越來越多了,下面針對仿京東開放平臺框架,封裝自己的開放平臺,分享給大家。先感謝一下京東開放平臺的技術(shù)大佬們,下面從開放平臺需求,服務(wù)端代碼,SDK代碼三大塊進(jìn)行分享
    2021-06-06
  • 一文秒懂idea的git插件跟翻譯插件

    一文秒懂idea的git插件跟翻譯插件

    idea之類的開發(fā)軟件真的超級多的插件,今天給大家分享idea的git插件跟翻譯插件,感興趣的朋友跟隨小編一起看看吧
    2021-04-04

最新評論