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

Mybatis使用@Select注解sql中使用in問題

 更新時間:2023年05月26日 10:14:29   作者:wuzi_uzi  
這篇文章主要介紹了Mybatis使用@Select注解sql中使用in問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mybatis使用@Select注解sql中使用in

mapper

@Select("SELECT  u.* , ur.role_id , r.role_name  from  sys_user_role  ur , sys_role r , sys_user u ,sys_user_depart ud " +
			"where  ur.role_id = r.id  and ur.user_id = u.id and u.id = ud.user_id " +
			"and ud.create_user_id in (${createUserId})")
	public Page<SysRoleDeptVO>  getUserByCreateUserIds(Page page, @Param("createUserId") String createUserId);

service

    @Override
    public Page<SysRoleDeptVO> getByUserIds(Page<SysRoleDeptVO> page, List<String> userIds) {
        /** 如果當前部門下沒用戶的話,就傳個 ""  過去   由于 mybatis 解析后空字符串
         *  后是什么都沒有, 這里用  in ()  如果這樣,就會異常 ,所以當用戶為空的話,
         *  傳 "''"  這樣解析后 變成了 in ('')
         * */
        String userids = "''" ;
        if(userIds != null && userIds.size() != 0){
            StringBuilder stringBuilder = new StringBuilder("");
            for (int i = 0; i < userIds.size(); i++) {
                stringBuilder.append("'");
                stringBuilder.append(userIds.get(i));
                stringBuilder.append("'");
                stringBuilder.append(",");
            }
            userids = stringBuilder.substring(0, stringBuilder.length() - 1);
        }
        return  userMapper.getByUserIds(page,userids);

mapper防止轉(zhuǎn)義字符  

<![CDATA[ ? ? ?]]>?

Mybatis在@Select寫IN SQL

簡單介紹在 MyBatis 的注解方式中,寫包含 in 語法的 SQL

直接了斷看下面的代碼,SQL 是獲取某幾個 ID 的文章

@Select("<script>" +
? ? ? ? ? ? "select * from article where id in " +
? ? ? ? ? ? "<foreach item='item' index='index' collection='articleIds' open='(' separator=', ' close=')'>" +
? ? ? ? ? ? ? ? "#{item}" +
? ? ? ? ? ? "</foreach>" +
? ? ? ? "</script>")
List<Article> getArticlesByIds(@Param("articleIds") List<Long> articleIds);

總結(jié)

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

相關(guān)文章

  • SpringBoot實現(xiàn)事件監(jiān)聽(異步執(zhí)行)的示例代碼

    SpringBoot實現(xiàn)事件監(jiān)聽(異步執(zhí)行)的示例代碼

    事件監(jiān)聽是一種機制,可以定義和觸發(fā)自定義的事件,以及在應(yīng)用程序中注冊監(jiān)聽器來響應(yīng)這些事件,本文主要介紹了SpringBoot實現(xiàn)事件監(jiān)聽(異步執(zhí)行)的示例代碼,感興趣的可以了解一下
    2024-08-08
  • Java中SpringBoot的@Transactional原理

    Java中SpringBoot的@Transactional原理

    這篇文章主要介紹了Java中SpringBoot的@Transactional原理,面向元數(shù)據(jù)遍歷已經(jīng)成為越來越多開發(fā)者的偏好,因此原理從Springboot的EnableTransactionManagement注解說起,需要的朋友可以參考下
    2023-07-07
  • SpringBoot+SpringBatch+Quartz整合定時批量任務(wù)方式

    SpringBoot+SpringBatch+Quartz整合定時批量任務(wù)方式

    這篇文章主要介紹了SpringBoot+SpringBatch+Quartz整合定時批量任務(wù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • tdesign的文件上傳功能實現(xiàn)(微信小程序+idea的springboot)

    tdesign的文件上傳功能實現(xiàn)(微信小程序+idea的springboot)

    這篇文章主要介紹了tdesign的文件上傳(微信小程序+idea的springboot)的相關(guān)知識,本文通過圖文實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-09-09
  • 利用反射實現(xiàn)Excel和CSV 轉(zhuǎn)換為Java對象功能

    利用反射實現(xiàn)Excel和CSV 轉(zhuǎn)換為Java對象功能

    將Excel或CSV文件轉(zhuǎn)換為Java對象(POJO)以及將Java對象轉(zhuǎn)換為Excel或CSV文件可能是一個復(fù)雜的過程,但如果使用正確的工具和技術(shù),這個過程就會變得十分簡單,在本文中,我們將了解如何利用一個Java反射的庫來實現(xiàn)這個功能,需要的朋友可以參考下
    2023-11-11
  • springboot項目如何引用公共模塊的bean

    springboot項目如何引用公共模塊的bean

    這篇文章主要介紹了springboot項目如何引用公共模塊的bean問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java GZIPOutputStream流壓縮文件的操作

    Java GZIPOutputStream流壓縮文件的操作

    這篇文章主要介紹了Java GZIPOutputStream流壓縮文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot項目集成Flyway進行數(shù)據(jù)庫版本控制的詳細教程

    SpringBoot項目集成Flyway進行數(shù)據(jù)庫版本控制的詳細教程

    這篇文章主要介紹了SpringBoot項目集成Flyway進行數(shù)據(jù)庫版本控制,本文分步驟通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Java設(shè)計模式之工廠模式實現(xiàn)方法詳解

    Java設(shè)計模式之工廠模式實現(xiàn)方法詳解

    這篇文章主要介紹了Java設(shè)計模式之工廠模式實現(xiàn)方法,結(jié)合實例形式較為詳細的分析了工廠模式的分類、原理、實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-12-12
  • java基礎(chǔ)中異常及包歸納整理

    java基礎(chǔ)中異常及包歸納整理

    這篇文章主要介紹了java基礎(chǔ)中的 異常與包,有需要的朋友可以參考一下
    2017-04-04

最新評論