目的:搜索框,通过输入一些关键词,查询含有关键词的书名

通过一条查询语句能够实现用户所有的条件进行查询

刚开始的SQL语句如下:

String sql = "SELECT * FROM books  WHERE book_name LIKE '%"+book_name+"%'";

运行后,代码一直报错,最后修改后运行成功的代码附下面,相信很多人和我一样会遇到同样的错误

代码如下:

 //模糊查询书名
public List<Books> getBooksSearchName(String book_name) {//where 1=1后面一定要留空格,否则和后面进行字符串拼接后,到数据库查询会出现错误String sql = "select * from books where 1=1 ";//创建一个集合用来存储查询的参数List<String> list = new ArrayList<String>();if (book_name != "") {//如果用户输入的book_name不为空,那需要进行字符串拼接sql += "and book_name like ? ";//将用户输入的参数添加到集合list.add("%" + book_name + "%");}//最后将集合转化成数组Object[] lists = list.toArray();List<Books> books = null;   try {books = qr.query(sql, new BeanListHandler<Books>(Books.class),lists);//System.out.println(books);} catch (SQLException e) {e.printStackTrace();}return books;}

注意事项:

1.SQL语句后面一定要留空格,否则和后面进行字符串拼接后,到数据库查询会出现错误

如有其它问题,欢迎大家留言,我们一起讨论,一起学习,一起进步

SQL语句模糊查询 JavaWeb 项目 dao层 【常用来做搜索框】相关推荐

  1. sql语句模糊查询以及时间区间筛选

    最近做了个接口参数是是查询数据库的项目,恶补了一下sql语句 模糊查询(最简单写法%任意%) select * from log where seatname like'%192.168.15.121 ...

  2. Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项

    Mybatis映射文件SQL语句模糊查询 1. "%"#{value}"%" 在参数中不需要添加 %_ 推荐使用 2. '%${value}%' 在参数中不需要 ...

  3. java sql语句模糊查询

    Dao层使用like对于关键字的模糊查询 今天在做开发的时候需要使用like 对关键字进行模糊查询,可是总是写不好,多次尝试发现有许多坑,在此记录下: //错误,后面参数实际传入mysql服务中会变为 ...

  4. 如何用SQL语句模糊查询数据库中的表名

    有时候,数据库中的表名太多,而你又不是清楚地记得表名,那么你可以用下面SQL语句,模糊地查询你想要的表名: select  table_name,tablespace_name,status,temp ...

  5. sql语句--模糊查询

    模糊查询 1.like 表示模糊查询,这个没什么难的,已经见识过了. 2.配合like关键字,% 表示任意多个字符,表示这个玩意第一次知道,走着-- select * from students wh ...

  6. 如何使用SQL进行模糊查询

    SQL语句--模糊查询 执行数据库查询时,有完整查询和模糊查询之分. 一般模糊语句格式如下: SELECT 字段 FROM 表 WHERE 某字段 LIKE 条件; 其中,关于条件,SQL提供了四种匹 ...

  7. sql中模糊查询的字段中包含百分号%的语句

    sql中模糊查询的字段中包含百分号%的语句: select * from 表名 where 字段 like '%\%%' ESCAPE '\'; Mysql里用\%,比如: select * from ...

  8. SQL语句模糊时间查询

    SQL语句模糊匹配时间总结 实现的功能: 例:输入时间"08:08:08"则可以匹配到"2020-6-6 08:08:08" 方法很多,本人只掌握并使用了自己认 ...

  9. mysql查询选课程的学生学号和姓名_数据库SQL语句中查询选修了全部课程的学生的学号和姓名理解...

    首先头脑中有三点概念: 1.EXISTS子查询找到的提交 NOTEXISTS子查询中找不到的提交 说明:不要去翻译为存在和不存在,把脑袋搞晕. 2.建立程序循环的概念,这是一个动态的查询过程.如FOR ...

最新文章

  1. 利用Unity自带的合图切割功能将合图切割成子图
  2. Leetcode 141.环形链表 (每日一题 20210617)
  3. java构造字符缓冲区_java学习笔记 | 学步园
  4. 2021斯坦福图机器学习课程CS224W开课了,Jure Leskovec主讲
  5. C# 多线程编程 ThreadStart ParameterizedThreadStart
  6. html5 canvas 图像预览,html5-canvas 加载并显示图像
  7. 计算机网络之传输层:1、概述(传输层功能、端口号、套接字、TCP、UDP)
  8. [hdu2089]不要62(数位dp)
  9. cmder中设置code page为utf8的方法
  10. 游戏迷看过来 年末促销买个华为平板 M3可畅玩
  11. python3.7怎么用ghost.py_python ghost.py使用笔记
  12. 【正点原子STM32连载】第三章 开发环境搭建 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  13. Web安全之常见面试题总结
  14. Taro 3.x 开发 APP 记录 (持续记录中。。。)
  15. 项目时间(项目活动持续时间估算、计划编制)笔记
  16. c语言键盘符号大全,求c语言各种符号 并且意义。。在键盘上没有的 如何打?...
  17. Apifox使用json传参
  18. 1060 5G/1065 版显卡安装TensorFlow/CUDA
  19. 计算机硬件专业知识西瓜视频,go实现西瓜视频花椒直播等平台智能答题
  20. Charles ——抓包工具安装与(Charles与浏览器)配置(Python爬虫必备神器)

热门文章

  1. MongoDB芒果数据库学习笔记一
  2. 电脑怎么用照片做视频?哪个软件简单好用?3步教你轻松制作!
  3. tsp问题的c语言编码,原创:TSP有关问题解决方案-禁忌搜索算法C实现
  4. Git如何上传代码到远程仓库(GiteeGithub)
  5. LNK1181:无法打开输入文件“release/.obj“
  6. quartz的使用(一)
  7. linux系统周几的格式是,linux cal命令显示日历信息周几天数差
  8. jquery+ajx post/get 实例
  9. 关于elementui的table固定高度出现的表格高度有空缺
  10. 香农采样定理和奈奎斯特采样定理