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}%`

猜你喜欢

转载自taoyongpan.iteye.com/blog/2338179