MyBatis中的<where>標籤和where子句的區別
MyBatis中的標籤和where子句的區別
<select id="selectAll" resultMap="BaseResultMap" parameterType="***">
select <include refid="Base_Column_List"></include>
from sys_log
<where>
<if test="username!=null and username!=''">
and username like concat ('%',#{username},'%')
</if>
<if test="userId!=null and userId!=''">
AND user_Id=#{userId}
</if>
<if test="operation!=null and operation!=''">
AND operation LIKE concat('%',#{operation},'%')
</if>
<if test="startTime!=null and startTime!=''">
AND create_time >= #{startTime}
</if>
<if test="endTime!=null and endTime!=''">
AND create_time <= #{endTime}
</if>
</where>
</select>
< where >標籤為baiMyBatis的動態語句
上述程式碼中若baiwhere標籤裡的if全不成立,則不執行where語句。
在使用< where >標籤的情形下編譯時會自動刪除 多餘的 AND和OR
<select id="selectByParams" parameterType="map" resultType="user">
select * from user
<where>
<if test="id != null ">id=#{id}</if>
<if test="name != null and name.length()>0">
and name=#{name}
</if>
<if test="gender != null and gender.length()>0">
and gender = #{gender}
</if>
</where>
</select>
若第一個if標籤裡ID的值為bainull的話,那麼列印出來的SQL為:select * from user where name=”xx” and gender=”xx”
相關文章
- SQL中 where 子句和having子句中的區別SQL
- SQLite中的WHERE子句SQLite
- SQL中where和on的區別SQL
- 詳解MySQL中WHERE子句的用法MySql
- MyBatis系列(七):MyBatis動態Sql之choose,where,set標籤的用法MyBatisSQL
- MySQL之Where和Having的區別MySql
- mysql的having和where有什麼區別MySql
- 資料庫中where與having的區別資料庫
- mybatis的 choose -- when test -- otherwise 標籤和 if test 標籤的區別MyBatis
- MyBatis從入門到精通(七):MyBatis動態Sql之choose,where,set標籤的用法MyBatisSQL
- whereRaw 與 where (\DB::raw ()) 的區別
- Mysql-left join on後接and,和where的區別MySql
- SQL JOIN 中 on 與 where 有何區別SQL
- SAP MM MIGO介面‘Where’標籤頁裡的storage binGo
- powershell中的where和foreach比較
- 【SQL】Oracle SQL join on語句and和where使用區別SQLOracle
- MySQL-WHERE子句 以及 邏輯操作符MySql
- having和where
- where to start, from where the end
- CV關於Mysql中ON與Where區別問題詳解buaMySql
- 談談hive中join下on和whereHive
- left join 後用 on 還是 where,區別大了!
- Mybatis where 1=1 動態sql問題MyBatisSQL
- Laravel 的 where or 查詢Laravel
- MySQL explain結果Extra中"Using Index"與"Using where; Using index"區別MySqlAIIndex
- MyBatis中#{}和${}的區別詳解MyBatis
- 請說說 `<pre>` 和 `<code>` 標籤的區別?
- Mybatis中updateByPrimaryKeySelective和updateByPrimaryKey的用法區別MyBatis
- SQL語句中 left join 後用 on 還是 where,區別大SQL
- MySQL的where條件字串區分大小寫的問題MySql字串
- MyDAL – .Where() & .And() & .Or() 使用
- Mybatis中常用的標籤MyBatis
- ubuntu18 沒有 where 命令 -bash: where: command not foundUbuntu
- link標籤連結CSS和@import載入的區別CSSImport
- HTML5標籤HTMLCollection和NodeList的區別詳解HTML
- MySQL where 運算子MySql
- 聊聊flink Table的where及filter操作Filter
- Git tag標籤與branch分支的區別Git