模糊查询的实现基于之前实现增删改查功能的博客一和博客二,可能里面的方法名和类名有所不同,但结构相同,换汤不换药。完成后的效果如下:
进入主页面:

搜索“1”

搜索“狗”

下面开始说明实现过程

在dao层的接口下添加:

    List<Pet> findPetByName(@Param("petName")String petName);

在mapper下的xml文件内添加数据库语句:

<select id="findPetByName" resultType="com.whut.beans.Pet" parameterType="Pet">SELECT * FROM pets WHERE petName LIKE CONCAT(CONCAT('%',#{petName},'%'))
</select>

在Service类添加:

    List<Pet> findPetByName(@Param("petName")String petName);

在impl文件下添加:

 @Overridepublic List<Pet> findPetByName(String petName){return pd.findPetByName(petName);}

在comtroller文件下添加:

  @RequestMapping("/findPetByName.do")public ModelAndView findPetByName(@RequestParam(defaultValue="1") int page,@RequestParam(defaultValue="8")int size,Pet pet){System.out.println(pet.getPetName());List<Pet> pets = ps.findPetByName(pet.getPetName());PageInfo pageInfo_s = new PageInfo(pets);ModelAndView mv = new ModelAndView();mv.addObject("pageInfo_s", pageInfo_s);mv.setViewName("search_result");//search_resultreturn mv;

在主页显示页面选择合适位置添加搜索按钮以及url:

 <!-- 搜索  --><div class="tools"  id="search" style="width: 80%; display:inline-block;vertical-align: top;"><ul class="searchform">       <li><form action="${pageContext.request.contextPath}/pet/findPetByName.do" method="post"><input type="text" name="petName" placeholder="根据宠物名字查询" style="border: 1px solid #E6E6E6;;height:28px;width:120px;"><button class="layui-btn layui-btn-sm"><i class="layui-icon">ꅣ</i> 搜索</button></form></li></ul></div>

最后创建一个展示搜索结果的jsp文件,并设置url,部分代码:

<!-- 搜索  --><div class="tools"><ul class="searchform">    <button class="layui-btn layui-btn-sm"></i> 搜索结果</button></form></li></ul>   </div></div><div class="row clearfix"><div class="col-md-12 column"><table class="table table-hover table-striped"><thead><tr><th>id</th><th>宠物名称</th><th>宠物价格</th><th>宠物种类</th><th>宠物年龄</th><th>宠物性别</th><th>宠物颜色</th><th>宠物状态</th></tr></thead><tbody><c:forEach var="pet" items="${pageInfo_s.list}" ><tr><td>${pet.petId}</td><td>${pet.petName}</td><td>${pet.salePrice}</td><td>${pet.petKind}</td><td>${pet.petAge}</td><td>${pet.petSex}</td><td>${pet.petColor}</td><td>${pet.petState}</td><td><a href="${pageContext.request.contextPath}/pet/toUpdate.do?id=${pet.petId}">更改</a> |<a href="${pageContext.request.contextPath}/pet/delete.do?petId=${pet.petId}">删除</a></td></tr></c:forEach></tbody></table></div></div><!-- /.box-body 当前第一页 共10页--><div class="box-tools pull-left"><div class="message">共<i class="blue">${pageInfo_s.total }</i>条记录,当前显示第&nbsp;<i class="blue">${pageInfo_s.pageNum }&nbsp;</i>页 总<i class="blue">${pageInfo_s.pages }</i>页</div></div><div class="box-tools pull-right"><ul class="pagination"><li><a href="${pageContext.request.contextPath}/pet/findPetByName.do?page=1&size=8" aria-label="Previous">首页</a></li><li><a href="${pageContext.request.contextPath}/pet/findPetByName.do?page=${pageInfo.pageNum-1}&size=4">上一页</a></li><c:forEach begin="1" end = "${pageInfo.pages}" var="pageNum"><li><a herf="${pageContext.request.contextPath}/pet/findPetByName.do?page=${pageNum}&size=8">${pageNum}</a></li></c:forEach><li><a href="${pageContext.request.contextPath}/pet/findPetByName.do?page=${pageInfo.pageNum+1}&size=8"> 下一页</a></li><li><a href="${pageContext.request.contextPath}/pet/findPetByName.do?page=${pageInfo.pages}&size=8" aria-label="Next">尾页</a></li></ul></div></div></div>

到此时运行程序已经能实现对于数字和字母的模糊查询了,但是对于汉字的查询会报错,通过浏览博客上的纠错帖和亲自尝试,我试出了一个有效的方法:
打开tomcat安装位置,打开server.xml文件

进行编辑,在方框处添加代码:

完成之后保存,此时再运行不会立刻生效,需要重新配置一个tomcat server:配置方法参考文首博客一。

配置完成后,关闭之前的tomcat server,重新启动,保证生效。人生巅峰,迎娶白富美。

基于ssm的模糊查询,解决中文乱码后可查询中文关键字相关推荐

  1. mysql数据库 中文乱码_数据库 MySQL中文乱码解决办法总结

    MySQL中文乱码解决办法 前言: MySQL是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1 ...

  2. Ubuntu 21.04终端中文乱码和无法输入中文

    方案一.修改中文支持1.首先,安装中文支持包language-pack-zh-hans:sudo apt-get install language-pack-zh-hans2.然后,修改/etc/en ...

  3. vscode新建html中文乱码,vscode中html中文乱码 怎么办

    vscode中html中文乱码 怎么办?VSCode 中文乱码解决办法 文件 >> 首选项 >> 设置 搜索:"files.autoGuessEncoding&quo ...

  4. html输入表单jsp返回数据中文乱码,JSP/Servlet页面中文显示为乱码的解决方式

    经过网上搜索和自己的经验,JSP/Servlet页面的中文显示为乱码的问题可以细分为5类: 1. JSP页面显示乱码. 2. Servlet接收Form/Request传递的参数时显示为乱码 3. J ...

  5. mysql中文乱码更改配置文件_mysql 中文乱码解决办法

    mysql中文乱码的解决办法:1.在linux环境下找到my.cnf文件并进行编码修改:2.在Windows下修改my.ini文件:3.在使用过程中强制设置字符集编码. 一.简介 MySQL默认lat ...

  6. php pdo 中文乱码,php pdo oracle中文乱码的快速解决方法

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PAT ...

  7. java怎么解决页面乱码问题_java页面中文乱码的解决办法

    骚年啊,资源文件名不要有中文啊,这可是常识啊 而且文件名不要有空格,不然容易悲剧 ######回复 @汪兴 : 有一个办法规避,就是上传的文件名更名为hash,实际上很多网站都这么做的,最终在页面上的 ...

  8. 如何设置mysql表中文乱码_php mysql表中文乱码问题如何解决

    为避免mysql中出现中文乱码,建议在创建数据库时指定编码格式: 复制代码 代码示例: create database zzjz CHARACTER SET gbk COLLATE gbk_chine ...

  9. 彻底搞懂 python 中文乱码问题_Python BeautifulSoup中文乱码问题的2种解决方法

    解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家 首先是代码 from bs4 import Beauti ...

最新文章

  1. 一种电子病历系统软件框架思想
  2. html遇到英文单词整体换行,CSS单词换行and断词,你真的完全了解吗_html/css_WEB-ITnose...
  3. ]数据结构:单链表之判断两个链表是否相交及求交点(带环、不带环)
  4. word取消空格显示为点
  5. linux时间类型localtime_r
  6. PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
  7. 4. Spring Boot 过滤器、监听器
  8. 微服务升级_SpringCloud Alibaba工作笔记0002---理解反应式编程中的背压(Backpressure)机_流的逆向压力
  9. using namespace std
  10. 基础Git操作与GitHub协作吐血整理,收好!| 原力计划
  11. html古诗竖行排列,古诗词竖版图片
  12. 电脑联想小新连上蓝牙耳机依然外放,终于解决了
  13. 升级版“绝悟”AI自带“军师”,解禁王者荣耀全英雄池
  14. java的标识符_Java的标识符
  15. html5图片自动滑动,超简单的图片左右切换滑动
  16. 北航计算机学硕和专硕人数,2021考研报考人数公布!今年人数暴增了吗?
  17. go 进阶 多路复用支持: 一. netpoller 初始化
  18. windows主机中的文件无法拖拽到虚拟机的Ubuntu系统中(即使安装了vmtools)
  19. 音速索尼克 怪人_最奇妙的刺猬索尼克粉丝游戏
  20. keystore提取私钥和证书

热门文章

  1. 亿级曝光品牌视频的幕后设定 1
  2. Docker学习与总结(二)
  3. 华为服务器cpu是否支持虚拟化,处理器配置 - 华为服务器 Brickland平台 BIOS 参数参考 30 - 华为...
  4. 3D动作绑定_广州独角兽高级3D动作师招聘详情
  5. “ChatGPT们”的淘金时代
  6. [附源码]java毕业设计疫情状况下生活物资集体团购系统
  7. 王者荣耀7月3日服务器维护,王者荣耀7月3日更新内容介绍 7.3更新了什么
  8. 清华教授彭凯平:成年人的崩溃,就在一瞬间
  9. CDH6官方文档中文系列(8)----Cloudera升级指南
  10. C#计算圆的面积及半径