亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1、@Select注解基本用法

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

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

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

從上述可以看到兩點信息:

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

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

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

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

雖然@Select注解的值是字符數組,但是真正生效的應該是最后那條SQL語句。這一點請大家要留意一下。

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

普通的字符串值,只能實現變量的替換功能,如下所示,

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

如果要想實現復雜的邏輯判斷,則需要使用標簽,如下所示:

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

其實,標簽并非是@Select注解專用的,其他的注解,例如@Insert,@Update等等,都可以使用的。

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

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

    @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);

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關文章

  • SpringCloud重試機制配置詳解

    SpringCloud重試機制配置詳解

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

    Java實現去掉字符串重復字母的方法示例

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

    Java Scanner輸入兩個數組的方法

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

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

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

    使用logback實現按自己的需求打印日志到自定義的文件里

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

    scala 匿名函數案例詳解

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

    SpringBoot中Mockito單元測試入門

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

    圖書管理系統(tǒng)java代碼實現

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

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

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

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

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

最新評論