親測有效~~MyBatis在Oracle數據庫下用concat函數模糊查詢之參數個數無效錯誤

目前測試的就這個可以用:

select * from SYS_MENU where url like '%' ||  #{roleName} || '%';

 

 

其他的都不行

我的完整mybatis的sql

<select id="projectQuery" resultMap="ProjectMap">
        select *
        from (select ROWNUM rn, tar.*
        from (select distinct p.ID,
        p.NAME,
        p.CABLE_NO,
        p.DESCRIPTION,
        p.CREATE_USER_ID as "user.id",
        u.FULL_NAME as "user.fullName",
        to_char(p.CREATE_TIME,
        'yyyy-mm-dd hh24:mi:ss') CREATE_TIME,
        p.IS_LOCK,
        p.CURRENT_USER_ID
        from IDS_PROJECT p
        left join IDS_USER u on p.CREATE_USER_ID = u.ID

        <if test="projectName !=null and projectName !=''">
           where UPPER(p.NAME) like   '%' ||  #{projectName} || '%'
            or UPPER(p.CABLE_NO) like '%' ||  #{projectName} || '%'
        </if>

        order by CREATE_TIME desc) tar


        <choose>
            <when test="sqlQuery !=null">
                <!--因爲這個是xml格式的,所以不允許出現類似“>”這樣的字符,但是都可以使用-->
                <!--< ![CDATA[ ]] >符號進行說明,將此類符號不進行解析-->
                where ROWNUM <![CDATA[ < ]]> #{sqlQuery.endIndex})
                WHERE rn <![CDATA[ >=  ]]> #{sqlQuery.startIndex}
            </when>
            <otherwise>
                )
            </otherwise>
        </choose>



    </select>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章