ssm模糊查询功能
用springmvc+mybatis整合給項目增加模糊查詢功能及增加過程中出現的問題
一、功能展示
?模糊查詢后:?
二、步驟:
1.servic層
//列表(加模糊查詢)public List<Paper> listPaper(@Param("name") String name);2.serviceImpl: 實現service層,編寫具體的業務邏輯
?
@Service public class PaperServiceImpl implements PaperService{@Autowiredprivate PaperMapper mapper;@Overridepublic List<Paper> listPaper(@Param("name") String name) {// TODO Auto-generated method stubSystem.out.println(name);return mapper.listPaper(name);} }3.mapper層(dao層):
//列表public List<Paper> listPaper(@Param("name") String name);4.mapper.xml配置文件
?
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 特別注意namespace屬性后面的路徑,一直要寫到xxxMapper.java文件 --> <mapper namespace="com.hp.mapper.PaperMapper"><!-- 配置與數據庫不同的字段 --><resultMap type="Paper" id="paperMap"><!-- 根據不同項目中的實體類 --><!--<result column="數據庫中的值" property="實體類中的值"/> --><id column="paperId" property="paperId"/><result column="paperName" property="paperName"/><result column="paperNum" property="paperNum"/><result column="paperDetail" property="paperDetail"/></resultMap><!-- 每個方法對應的sql --><!-- 列表查詢 、模糊查詢--><select id="listPaper" resultMap="paperMap" parameterType="String">SELECT * from paper where 1=1<if test="name!=null">and paperName like '%${name}%'</if> </select><!-- 刪除 --><delete id="deletePaper" parameterType="int">delete from paper where paperid=#{paperid}</delete><!--添加 --><insert id="addPaper">insert into paper (paperName,paperNum,paperDetail) values (#{paperName},#{paperNum},#{paperDetail})</insert><!-- 修改 --><update id="updatePaper" parameterType="paper">UPDATE paper SET paperName=#{paperName},paperNum = #{paperNum},paperDetail=#{paperDetail} WHERE paperId = #{paperId}</update><!--修改前查詢id --><!--回顯數據 --><select id="findById" resultType="paper" parameterType="int" >SELECT * from paper where paperId = #{paperId}</select></mapper>5.jsp頁面
<!-- 模糊查詢 --><div class="container" align="center"><form class="form-inline" action="${pageContext.request.contextPath }/findPaper" method="post"><div class="form-group" ><input type="text" class="form-control" id="name" name="name" placeholder="查詢你想找的論文"><button type="submit" class="btn btn-default">查詢</button></div></form> </div>?這樣一個簡單的模糊查詢就完成了!
在實現模糊查詢時一定要注意:
1.mapper.xml文件中sql語句語法的正確
2.用來接收頁面傳來的值的名字一定要一致
3.注意添加@pararm注解,不然mapper.xml文件接收parameterType="String"時可能會報:
There is no getter for property named 'name' in 'class java.lang.String'這個錯。
?
總結
- 上一篇: java.sql.SQLExceptio
- 下一篇: Fashion-mnist数据的读取与保