中午找了好久、好多人写的都驴头不对马嘴。自己实现后、才发现是真的不麻烦、也不知道人家咋想的、写的死麻烦还没用。老是搜出sql语句写死的。我要的是动态滴。自己写出后、总结了一下

1、按照书名、作者、出版社搜索容易实现。这里就是对应数据库中的一个个字段、只需要在编写的sql中添加条件即可。
废话不多说、直接上代码:

前端(用来收集查询的条件):

 <div class="row "><form  th:action="@{/book/bookList}" style="float: left"><div class="col-md-2"><input type="text" name="queryBookName" class="form-control" placeholder="书籍名"></div><div class="col-md-2" ><input type="text" name="queryBookAuthor" class="form-control" placeholder="作者名"></div><div class="col-md-2" ><input type="text" name="queryBookAddress" class="form-control" placeholder="出版社"></div><div class="col-md-4" ><div class="col-row"><div class="col-md-5"><input type="text" name="minPrice" class="form-control" placeholder="最低价格"></div><div class="col-md-1"><span><strong>:</strong></span></div><div class="col-md-5"><input type="text" name="maxPrice" class="form-control" placeholder="最高价格"></div></div></div><input type="submit" value="查询" class="btn btn-primary"></form></div>

实现的前端效果是这样的(我这里用的bootstrap) 其他的也可以、主要用来收集数据嘛。
用一个表单来收集数据、也可以单独的一个个数据的收集。使用表单收集数据还有的一个好处就是可以根据多个目标条件进行数据库的搜索。相当于一次性追加几个查询条件。

编写的sql语句、where 1=1 相当于sql语句不带任何的查询约束条件。等价于 select * from a
然后追加条件(我这里使用的mybatis框架、不影响sql语句的编写)

 <select id="queryBookList" parameterType="com.example.zheng.pojo.Books" resultType="com.example.zheng.pojo.Books">select * from bookss<where>1=1<if test="bookName != null and bookName != ''">And bookName =#{bookName}</if><if test="bookAuthor != null and bookAuthor != ''">And bookAuthor =#{bookAuthor}</if><if test="address != null and address !=''">And address =#{address}</if></where></select>

重点在这里、怎样实现价格在一定范围内查询。由于价格是一个变化的、而且不和数据库中的字段对应。我首先想到的是 price >minPrice and price <maxPrice 。结果发现编写的sql语句报错、将编写的sql语句放入sql控制台查询是可以的、后来查阅资料发现。在mybatis中<是不能被识别的、需要使用转移字符 &lt;。我真的是靓仔无语。

1、前端页面定义参数、将数据收集。然后在后端将接受的数据封装到实体类中(在实体类中新增两个最大价格和最小价格的属性)。然后在进行查询就可以了。

   <if test="minPrice !=null and minPrice !=''">And price > #{minPrice}<if test="maxPrice !=null and maxPrice !=''">And price &lt; #{maxPrice}</if></if>

动态搜索图书:可以按书名、作者、出版社以及价格范围进行搜索。(在IDEA中mybatis)相关推荐

  1. //5. 有若干本图书,图书信息包括图书书名、作者、出版社和价格。要求输出图书价格(const成员函数), //显示图书书名、作者、出版社(非const成员函数)、根据图书书名查找图书并显示相关信息等

    //5. 有若干本图书,图书信息包括图书书名.作者.出版社和价格.要求输出图书价格(const成员函数), //显示图书书名.作者.出版社(非const成员函数).根据图书书名查找图书并显示相关信息等 ...

  2. java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等)

    java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等) 顺手写的,没有建立新项目,放我自己的项目的一个文件夹里了,有兴趣的朋友可以拉下来试试 https://gitee.co ...

  3. 爬取当当图书排行榜(榜单自选),格式:爬取结果包含但不限于[排名 书名 作者],注意输出格式对齐

    目录 爬取当当图书排行榜 查看当当图书排行榜,分析其网址各部分代表的意义,选取特定分类和时间区间进行爬取 解析网页内容,查看所需信息(排名,书名,作者,出版社,价格)的位置: 筛选所需数据,输出并保存 ...

  4. python爬取京东畅销榜(计算机类)图书信息(书名,作者,价格),并保存到excel表格

    爬虫新手小白的第一次"半独立"爬虫,为什么是"半独立"呢?因为基本的代码块是从其他博客借鉴过来的,在此基础上加入了自己的思考和实现. (后面的价格获取感觉自己走 ...

  5. 爬取起点网站图书信息(书名、作者、简介、图片url)

    # 爬取qidian网站图书信息(书名.作者.简介.图片url) import requests from lxml import etree import jsonclass BookSpider( ...

  6. [爬虫-python]爬取京东100页的图书(机器学习)的信息(价格,打折后价格,书名,作者,好评数,差评数,总评数)

    Python爬取京东的机器学习类图书的信息 一,配置搜索关键字和页数, 二,查找用到的三个URL的过程 1. 搜索图书的URL 2. 评论总数,差评数,好评数的URL 3. 当前价格与打折前价格URL ...

  7. android 基于豆瓣 Api 的客户端,包含电影分类,图书分类,电影榜单,收藏功能,搜索功能。

    JianDou 项目地址:ChinaLHR/JianDou 简介:基于豆瓣 Api 的客户端,包含电影分类,图书分类,电影榜单,收藏功能,搜索功能. 更多:作者   提 Bug   示例 APK    ...

  8. 怎么才能搜索查找到大鱼号作者,为啥连大鱼号作者排行榜上的作者都找不到

    多数时候,我们都可以利用搜索引擎找到自己需要的东西,但是也不是每次都给力,一是搜索的内容中没有自己需要的内容,二是搜索引擎没收录.就比如说大鱼号作者,好多网友自己申请了个大鱼号,又或者需要查找一个大鱼 ...

  9. 搜索文献_【大牛经验分享】如何高效快捷搜索文献?

    如何搜索文献 --以"Bukowski, K. et al. 2007, ApJL, 671, 45"为例 在超星搜索上直接搜上述"Bukowski, K. et al. ...

最新文章

  1. c语言延时函数_介召几个frida在安卓逆向中使用的脚本以及延时Hook手法
  2. kill 进程_Node.js 进程平滑离场剖析
  3. RestSharp .net 轻量级rest客户端
  4. 剑指Offer——斐波那契数列
  5. 收藏 | 卷积神经网络中十大拍案叫绝的操作
  6. 如何才能成为一个成功的项目经理
  7. java 蓝桥杯算法训练 秘密行动
  8. leetcode题库1--两数之和
  9. Kotlin 或将取代 Java —— 《Java 编程思想》作者 Bruce Eckel
  10. [FAQ03776] [Power]关于RTC唤醒系统问题
  11. java openxml word_OpenXMl倒出word、PDF
  12. Java中IO演练之银行账号校验
  13. Android实现随意拖动View效果
  14. 为什么域名还会被DNS污染?域名被污染清洗方法!
  15. android 调出键盘表情_Android-表情键盘的制作
  16. 新学习的语言Groovy
  17. 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
  18. 计算机安装硬盘后无法启动不了,加装固态硬盘,装好后系统怎么不能启动了呢?该怎么办?...
  19. Worker节点加入K8S集群报错:error execution phase preflight: couldn‘t validate the identity of the API Server
  20. 编译安装oh-my-zsh

热门文章

  1. hyperledger-fabric第一天 Fabric环境搭建
  2. 如何创建 Ubuntu 信息亭(kiosk)
  3. index函数python查询所有_Python List index()方法
  4. python一键合并excel表格
  5. 红孩儿编辑器的模块设计文档目录
  6. php使用sendemail,thinkphp如何使用sendcloud发送邮件 | 志博日记
  7. Ubuntu18.04设置截屏快捷方式
  8. Qlikview脚本生成日历表
  9. 计算机分辨率无法调整,教你电脑分辨率调不过来怎么办
  10. 论文阅读:Generating Talking Face Landmarks from Speech