2016-07-16 2 views
0

У меня есть некоторые проблемы в mapper.xml из пружинной структурыMysql весной рамочное MySQLSyntaxErrorException

это не удалось:

проверить руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом 'where ut.catalog_id = 1 and ut.title like CONCAT('%','d','%')' в строке 4

Код:

<select id="tListSearch" resultType="TalentBoardVO"> 
    select * 
    from user_talents ut 
    left outer join catalog c 
    on ut.catalog_id = c.id 

    <include refid="search"></include> 

    order by ut.id desc 
    limit #{pageStart}, #{perPageNum} 
</select> 

это inclue тег

<sql id="search"> 
    <if test="searchType != null"> 

     <if test="searchType == 'g'.toString()"> 
      where ut.catalog_id = 1 
      and ut.title like CONCAT('%', #{keyword}, '%') 
     </if> 

ответ

0

Это будет гораздо лучше, если вы можете показать нам весь свой запрос SQL.

Если вы используете инфраструктуру MyBatis, это то, что вы можете сделать. Хорошая практика заключается в том, что вы должны отделить две переменные, которые вы хотите сравнить в инструкции WHERE.

<sql id ="search"> 
    <where> 
     <if test ="idCatalog" != null"> 
      AND ut.catalog_id = #{idCatalog} 
     </if> 
     <if test="searchType != null"> 
      <bind name="searchTypeLike" value="'%' + searchType + '%'" /> 
      AND ut.title LIKE #{searchTypeLike} 
     </if> 
    </where> 
</sql> 
Смежные вопросы