动态搜索图书:可以按书名、作者、出版社以及价格范围进行搜索。(在IDEA中mybatis)
中午找了好久、好多人写的都驴头不对马嘴。自己实现后、才发现是真的不麻烦、也不知道人家咋想的、写的死麻烦还没用。老是搜出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中<是不能被识别的、需要使用转移字符 <。我真的是靓仔无语。
1、前端页面定义参数、将数据收集。然后在后端将接受的数据封装到实体类中(在实体类中新增两个最大价格和最小价格的属性)。然后在进行查询就可以了。
<if test="minPrice !=null and minPrice !=''">
And price > #{minPrice}
<if test="maxPrice !=null and maxPrice !=''">
And price < #{maxPrice}
</if>
</if>
动态搜索图书:可以按书名、作者、出版社以及价格范围进行搜索。(在IDEA中mybatis)的更多相关文章
- C#动态生成图书信息XML文件
通过C#动态生成图书信息XML文件,下面有个不错的示例,需要的朋友可以参考下 通过C#动态生成图书信息XML文件(Books.xml),文件如下: 复制代码代码如下: <?xml version ...
- 已知数据库中存在表tb_book2,通过在图书信息界面填写书本的基本信息,然后提交后写入数据库中的表格中。需要对提交的信息进行修改,信息填入不能为空,为空则则有提示。
jsp结合SQLSERVER向数据库中的表添加图书信息. 已知数据库中存在表tb_book2,通过在图书信息界面填写书本的基本信息,然后提交后写入数据库中的表格中.需要对提交的信息进行修改,信息填入不 ...
- 爬虫简单之二---使用进程爬取起点中文网的六万多也页小说的名字,作者,等一些基本信息,并存入csv中
爬虫简单之二---使用进程爬取起点中文网的六万多也页小说的名字,作者,等一些基本信息,并存入csv中 准备使用的环境和库Python3.6 + requests + bs4 + csv + multi ...
- 搜索分析(DFS、BFS、递归、记忆化搜索)
搜索分析(DFS.BFS.递归.记忆化搜索) 1.线性查找 在数组a[]={0,1,2,3,4,5,6,7,8,9,10}中查找1这个元素. (1)普通搜索方法,一个循环从0到10搜索,这里略. (2 ...
- SharePoint 2013 搜索SharePoint 特定列和特定文档(自己定义搜索)
SharePoint 2013 搜索SharePoint 特定列和特定文档 1,操作步骤和图例,因语言和版本号的不同 我尽量使用抓图方式. 2. In Central Administration, ...
- jQuery 对页面元素的搜索包括父元素、同辈元素、子元素的搜索
1.父元素搜索 (1)parents([selector]) 方法 $("p").parents().css("border","1px solid ...
- 搜索页面scroll下拉时候进行刷新,显示更多搜索值
1.封装扩展scroll.vue功能: //props传值 pullup:{ type:Boolean, default:false } _initScroll(){ if(!this.$refs.w ...
- 记忆化搜索:POJ1579-Function Run Fun(最基础的记忆化搜索)
Function Run Fun Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14815 Accepted: 7659 Des ...
- php 数组动态添加实现代码(最土团购系统的价格排序)
最近在实现最土团购系统的价格排序功能,需要对$oc数组进行扩展,经过测试用下面的方法即可. 核心代码如下: <?php $now=time(); $oc = array( 'team_type' ...
随机推荐
- CDO如何盘点算法、推动算法业务增长
在数字经济时代,算法对企业业务增长至关重要,是企业进行数字化转型.构建竞争优势的关键.IT工程师或数据分析师可能会将算法描述为一组由数据操作形成的规则.而从业务价值方面考虑,算法是一种捕获商业机会.提 ...
- Apache Pulsar Summit Asia 2020 正式启动,演讲议题征集中!
Apache Pulsar Summit 是 Apache Pulsar 社区年度盛会,它将分布在世界各地的 Apache Pulsar 项目 Contributor.Commiter 和各企业 CT ...
- Docker 容器虚拟化
Docker 容器虚拟化 1.虚拟化网络 Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息.不管是虚拟机 ...
- Java NIO全面详解(看这篇就够了)
很多技术框架都使用NIO技术,学习和掌握Java NIO技术对于高性能.高并发网络的应用是非常关键的@mikechen NIO简介 NIO 中的 N 可以理解为 Non-blocking,不单纯是 N ...
- 富莱尔ERP
微型版本 按年付费模式 980包含5个用户,后续每增加一个用户加298元. 适合创业型企业,想尝试用下ERP软件解决打送货单问题,客户自动生成账单,自动统计业务员每月业绩功能. 试用账号:wxadmi ...
- KingbaseES R3 集群pcp_attach_node 更新show pool_nodes中节点状态
系统环境: 操作系统: [kingbase@node2 bin]$ cat /etc/centos-release CentOS Linux release 7.2.1511 (Core) 数据库: ...
- docker_命令总结
docker -v /hostDir:/containerDir /hostDir为宿主机的目录 /containerDir为容器内的目录 -v 实现两个目录的挂在,即容器内数据持久化到本机 dock ...
- 使用 Spring Boot Admin 监控应用状态
程序员优雅哥 SpringBoot 2.7 实战基础 - 11 - 使用 Spring Boot Admin 监控应用状态 1 Spring Boot Actuator Spring Boot Act ...
- Pwn出题指南
0x00:背景 最近在为社团招新赛出pwn题,发现网上关于出题方面的文章资料特别少,所以打算记录下自己出题的过程,便于网友们参考学习.本次出题采用了ctf_xinetd与pwn_deploy_chro ...
- CentOS6 配置阿里云 NTP 服务
本文以Centos 6.5为例介绍如何修改Linux实例时区,以及开启和配置Linux NTP服务,保证实例本地时间精确同步. 前提条件 NTP服务的通信端口为UDP 123,设置NTP服务之前请确保 ...