Java项目实战第11天:搜索功能的实现

article/2025/11/2 15:22:29

目录

    • 一、sql语句动态拼接
    • 二、前后台代码编写
    • 三、搜索框数据回填
    • 最后

今天是刘小爱自学Java的第110天。

感谢你的观看,谢谢你。

话不多说,开始今天的学习:

事先说明:关于今天的搜索功能实现。

并没有使用到倒排索引这样的主流搜索技术,就一个普通的模糊查询。

在此之前,先学一个小的知识点,sql语句动态拼接。

一、sql语句动态拼接

我们编写sql语句,一般都是通过预编译查询,使用问号这个通配符”?“

但是有的时候会存在某个参数不存在的情况,比如说这一次查询前端传来了3个参数,下一次却只传了2个参数。

面对这个问题,那该怎么办呢?

就需要使用到sql语句的动态拼接了,代码编写如下:

①sql语句中的cid这个参数是不确定的,有时有,有时可能没有。

②StringBuilder的使用

先将sql语句中确定的部分存放到StringBuilder中,再创建一个集合存放参数。

③对cid做出判断

如果cid不为空且存在,就在sql语句中拼接“ and cid = ?”,同时将cid存入参数集合中。

④拼接cid后面其它的参数

在sql语句中拼接“ limit ?,?”,然后将另外两个固定参数存入集合。

注意:sql拼接过程中空格不要忘记了,总之要保证拼接后的sql要和①中的一样,通过debug可以查看。

⑤查询数据

将动态存放sql语句的StringBuilder转换成字符串,将存放参数的集合转换成数组,再使用jdbcTemp查询。

二、前后台代码编写

1业务分析

我们要找到搜索框所在的静态页面,如下图:

要解决两个问题:

①是我们要给搜索绑定一个点击事件,点击之后就会跳转到route_list页面,展示查询到的对应数据。

绑定的函数为queryByRname()

②我们要获取搜索框中输入的数据。

这里就可以通过层级选择器$(“.search input”)选中搜索框对应的标签。

2前端代码实现

定义函数queryByRname()

①获取搜索框中的内容

使用层级选择器,调用jQuery的val()方法可以获取对应标签中的数据,这里也就是搜索框。

②跳转route_list.html页面

location.href即可跳转对应页面。同时将rname作为参数传递给后台。

③route_list.html页面代码

在②中跳转是携带了一个参数,自然是需要获取该参数,再将其增加到服务器请求参数中。

其中要将参数进行解码,因为浏览器会自动将在搜索框中输入的数据进行编码。

使用decodeURL()功能即可完成编码。

3后台接受该参数

在已有的业务逻辑基础上添加参数即可

只需要在web层中增加获取rname这个数据的代码。

同时在将其作为参数传递给service层,而service层也增加该参数去dao层查询。

其它代码都不用改变,只是增加了一个rname参数。

同样的道理,在dao层中也动态拼接sql查询语句。

总之可以先写出完整的sql语句,再动态拼接rname这个参数。

检查方式就可以通过debug来判断sql语句拼接的是否正确。

三、搜索框数据回填

我们在搜索框中输入信息之后,点击搜索,搜索框的内容会消失。

而事实上都应该还会存在,那该怎么办呢?

就需要考虑到数据回填:


大致的一个思路是:

获取搜索框中的数据后,将其重新设定到对应的标签中。

其中值得注意的是:

参数要解码,以及要绑定页面加载事件。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。


http://chatgpt.dhexx.cn/article/U6uMDAa6.shtml

相关文章

【CSDN最全java项目实战500篇】练手/项目经验/毕设刚需

免费精选!强烈建议收藏!学完这一套直接进大厂(附配套源码&资料) C站(CSDN)软件工程师能力认证,已上线70天,下图300所高校的小伙伴们都已经预约、完成C认证,就等你来啦…

Java项目开发实战入门 PDF 扫描完整版

内容介绍 《Java项目开发实战入门》以一起来画画、通讯录系统、明日彩票预测系统、小小五子棋、企业进销存管理系统、企业QQ(局域网版)、九宫格记忆网和铭成在线考试系统8个精选项目为案例,从趣味性和实际应用角度出发,采用了当前…

全站最全实战的Java项目(附源码)

嗨喽,大家好,今天又要给大家整一波福利了! 不管我们要学习哪种语言都希望能第一时间看到成效,能做出实际的东西来,那么这里所说的实际东西当然就是项目啦!不用我说大家也知道,学编程语言不做项…

java项目实战之404错误原因总结

java项目实战之404错误原因总结 第一个原因可能是你的URL写错了,正确的URL应该这么写 localhost:8080/项目名称/对应的目录或者映射 好好检查检查是否是拼写错误,或者多了什么,少了什么 第二个原因可能是你的Spring配置文件写错了 一般都…

最牛逼的 Java 项目实战,没有之一!

想要成长为高级开发,掌握更多层面的技术,兼顾深度和广度是毋庸置疑的。你肯定认为,我要认真努力的学习技术,丰富自己的技术栈,然后就可以成为一个优秀的高级开发了。但当你真正去学习之后就会发现,技术栈异…

史上最全Java项目实战课程(含项目实战+源码)

【此文章转自乐字节】 很多小伙伴学了Java有一段时间了,想找几个项目想练练手,更有助于我们的学习和工作实践,最重要的是提高自己的项目经验,对于找工作而言有着大大的帮助,那今天UP主就来分享一些Java实战项目&#…

10套最全Java项目实战课程(附项目实战+源码)

家人们,我又来啦,今天我们来看一下学Java必练的10款游戏项目! 大家都知道学习编程必须要做的就是敲代码和做项目练手了,那项目有难有易,很多小伙伴不知道从哪里找项目来练习,今日我们来看一下初级项目中都…

8个Java实践项目:平均半个小时就可干完~

最近有很多看过Java300集小伙伴私信我说推荐几个Java实践练手项目,在这里我收集了8个可以供大家在平时学习过程中进行练手的项目!平均每个项目,半个小时即可完成!!! 最近学习Java的小伙伴们快来练练看看自己…

亲测:三个值得练手的Java实战项目

测试奇谭,BUG不见。 大家好,我是谭叔。 一提到编码,很多小伙伴便感到头疼,特别是半路转行的小伙伴或者没有系统学习过计算机基础的小伙伴。 对于想学而不知道怎么学的小伙伴,我可以分享下我的策略: 刷一…

你必看的Java实战练手项目(附源码)

嗨喽,大家好,关注我,福利不断! 不管我们要学习哪种语言都希望能第一时间看到成效,能做出实际的东西来,那么这里所说的实际东西当然就是项目啦!不用我说大家也知道,学编程语言不做项目…

12个Java实践项目:练完变学神

【尚学堂Java游戏项目“超级玛丽“】Java实战教程 最近有很多看过java300集小伙伴私信我说推荐几个Java实践练手项目,在这里我收集了12个可以供大家在平时学习过程中进行练手的项目! 尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备…

Java项目实战【超级详细】

软件开发流程 角色分工 开发环境搭建 创建普通Maven项目编写pom.xml导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

android markdown编辑器,安卓版好用的Markdown编辑器

有很多的朋友一直想找一个安卓手机的markdown编辑器&#xff0c;问我有没有好用的安卓版Markdown编辑器&#xff0c;我要告诉你的是当然有啦&#xff01;到软件应用市场输入“markdown”&#xff0c;对比了一下&#xff0c;发现这款编辑器非常不错。 坚果云markdown软件是一款非…

vue集成MarkDown编辑器插件

这里我们选择的插件是editor.md的插件 首先我们先下载这个插件到本地 官网有提供github下载和npm下载两种方式 , 这里我选择npm下载 npm install editor.md下载后我们需要拷贝一些文件到自己的项目中 将上面的八个文件拷贝到自己的vue项目的static目录中的editormd文件夹下面…

React中使用Markdown编辑器

前言 因为之前写过一个自己的博客&#xff0c;其中编辑文章使用的是富文本编辑器&#xff0c;后来用到Markdown编辑&#xff0c;感觉要比富文本更好用&#xff0c;这里简单记录一下如何在React中添加Markdown编辑器。 一 安装 这里我们选择安装以下几个插件 npm install ma…

简洁的微信Markdown编辑器

老苏写文章习惯使用 Markdown 格式&#xff0c;因为可以一键发布到 hexo&#xff0c;但微信公众号并不支持 Markdown 格式。 最早发微信公众号&#xff0c;是复制粘贴 Markdown 渲染后的预览页面&#xff0c;后来用了墨滴免费的网页版&#xff0c;虽然没有收费版功能全&#x…

Windows最佳Markdown编辑器

This popular article was updated in 2017, covering the newest Markdown editors for Windows and reviewing how some older ones have fared over time. 这篇颇受欢迎的文章于2017年进行了更新&#xff0c;涵盖了Windows的最新Markdown编辑器&#xff0c;并回顾了一些较旧…

最新主流 Markdown 编辑器推荐

Markdown &#xff0c;2004年由 John Gruberis 设计和开发&#xff0c;是一种可以使用普通文本编辑器编写的标记语言&#xff0c;通过简单的标记语法&#xff0c;它可以使普通文本内容具有一定的格式&#xff0c;以下将介绍目前比较流行的一些 Markdown 编辑器&#xff08;排名…

网页内嵌markdown编辑器

网页内嵌MarkDown 下载MarkDown编辑器文件 下载地址 下载解压文件目录 创建文件夹 将上方框起来的文件拖入一个文件夹 创建网页引入文件(editormd.min.css,editormd.min.js) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-…

制作一个实时渲染的markdown编辑器YaliEditor

制作一个实时渲染的markdown编辑器YaliEditor 文章目录 制作一个实时渲染的markdown编辑器YaliEditor开源项目地址IR模式实时渲染渲染解析节点监控undo System渲染效果目录预览效果 字体颜色的修改 开源项目地址 WenyaoL/YaliEditor: 一个简易的实时渲染markdown编辑器 (githu…