ssm框架動態查詢和模糊查詢

一、動態查詢

 1)一張表的動態查詢
<select id="queryMore" resultMap="pw.Blog">
SELECT *
FROM `t_blog`
<where>
<if test="bname != null">
AND `b_name` LIKE concat('%',#{bname},'%')
</if>
<if test="blable != null">
AND `b_lable`LIKE concat('%', #{blable},'%')
</if>
<if test="uname != null">
AND `u_name` = #{uname}
</if>
</where>
</select>


mapper的sql語句(這是一張表的動態查詢sql示例),我們需要注意的是if標籤中的 test 裏面的那個null和後臺Java代碼中的“”是不一樣的,因此我們要判斷轉化一下

 

/**
* 動態查詢
* @param bname
* @param blable
* @param uname
* @return
* @throws Exception
*/
public List<Blog> queryMore(@Param("bname") String bname,@Param("blable") String blable,@Param("uname") String uname)throws Exception;

 對應的mapper代碼,注意一定要是List<>   因爲我們查詢得到的對象是一組,要儲存在List<>數組中

 

 2)多張表的動態查詢

 

 

 

 二、模糊查詢

 

1)

 `b_name` LIKE concat('%',#{bname},'%')

 2)

`b_name` LIKE `%${bname}%`

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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