这篇文章算是一个记录吧。我最近事比较多,然后可能会忘一些东西,所以写下来以后可以翻出来查看一下子
mybatis 调用<where> 和<if> 的时候需要在mapper里面传入一些参数 会调用@param 这个标签 不然测试时候会出现不能调用string这个参数的错误
话不多说开始上代码
// 模糊查询所有的帖子 (含通过和未通过的)
List<MessPublish> findByTitle(@Param("title") String title);
// 模糊查询所有未通过审核的帖子
List<MessPublish> findNotPassTitle(@Param("title") String title);
mapper文件
<!-- 模糊查询所有的帖子 (含通过和未通过的) -->
<select id="findByTitle" parameterType="String" resultType="MessPublish">
select ID,Title,MessContent,CreateTime,TypeID,CorpID,UserName,UserID,ModifyTime,CheckState,CheckTime,CheckID,CheckRemark,MessFujian from Mes_publish
<where>
<if test="title!=null and title!='' ">
and Title like '%'+#{title}+'%'
</if>
</where>
</select>
<!-- 模糊查询所有未通过的帖子 -->
<select id="findNotPassTitle" parameterType="String" resultType="MessPublish">
select ID,Title,MessContent,CreateTime,TypeID,CorpID,UserName,UserID,ModifyTime,CheckState,CheckTime,CheckID,CheckRemark,MessFujian from Mes_publish
<where>
<if test="title!=null and title!='' ">
and Title like '%'+#{title}+'%'
</if>
and checkState in (0,2);
</where>
</select>
接下来是 业务层的代码
//模糊查询所有的帖子(含通过未通过)
List<MessPublish> findByTitle(String title);
// 模糊查询所有未通过审核的帖子
List<MessPublish> findNotPassTitle(String title);
业务层实现层
// 模糊查询所有的帖子(含通过未通过)
@Override
public List<MessPublish> findByTitle(String title) {
List<MessPublish> find = mapper.findByTitle(title);
return find;
}
// 模糊查询所有未通过审核的帖子
@Override
public List<MessPublish> findNotPassTitle(String title) {
List<MessPublish> messPublish = mapper.findNotPassTitle(title);
return messPublish;
}
然后最后 在控制层 写入对象的方法即可。