<selectid=“findActiveBlogWithTitleLike” resultType=“Blog”> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <iftest=“title != null”> AND title like #{title} </if></select> <selectid=“findActiveBlogLike” resultType=“Blog”> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <iftest=“title != null”> AND title like #{title} </if> <iftest=“author != nullandauthor.name != null”> AND author_name like #{author.name} </if></select>
2.动态sql choose, when, otherwise
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<selectid=“findActiveBlogLike” resultType=“Blog”> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <choose> <whentest=“title != null”> AND title like #{title} </when> <whentest=“author != nullandauthor.name != null”> AND author_name like #{author.name} </when> <otherwise> AND featured = 1 </otherwise> </choose></select>
3where
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<selectid=“findActiveBlogLike” resultType=“Blog”> SELECT * FROM BLOG <where> <iftest=“state != null”> state = #{state} </if> <iftest=“title != null”> AND title like #{title} </if> <iftest=“author != nullandauthor.name != null”> AND author_name like #{author.name} </if> </where></select>
4.foreach
1 2 3 4 5 6 7 8 9 10 11 12
<selectid=“selectPostIn”resultType=“domain.blog.Post”> SELECT * FROM POST P WHERE ID in <foreachitem=“item”index=“index”collection=“list” open=“(“separator=“,”close=“)”> #{item} </foreach></select> 5.别名 <typeAliases> <typeAliastype=“org.sample.MyLanguageDriver”alias=“myLanguage”/></typeAliases><settings> <settingname=“defaultScriptingLanguage”value=“myLanguage”/></settings>