我是靠谱客的博主 优秀书本,最近开发中收集的这篇文章主要介绍JAVA中mysql多个条件怎么模糊查询_Java中怎么实现带参数的多条件的模糊查询?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我需要带三个参数,在JSP的表单中传入Bean中执行,在Bean中封装了一个函数,里面这样可不可以啊:publicstaticArrayListfindBook(Stringisbn,Stringbookname,Stringauthor){...

我需要带三个参数,在JSP的表单中传入Bean中执行,在Bean中封装了一个函数,里面这样可不可以啊:

public static ArrayList findBook(String isbn,String bookname,String author )

{

// System.out.println("查询图书方法");

ArrayList list = new ArrayList();

String sql ="select * from tbl_book where isbn like '%"+isbn+"%' or bookname = '%"+bookname+

"%' or author = '%"+author+"%'";

//System.out.println(sql);

JDBCBean jdbc = new JDBCBean();

ResultSet rs = jdbc.executeQuery(sql);

try {

while(rs.next()){

BookDAO bk = new BookDAO();

bk.setId(rs.getInt("id"));

bk.setIsbn(rs.getString("isbn"));

bk.setBookname(rs.getString("bookname"));

bk.setAuthor(rs.getString("author"));

bk.setPress(rs.getString("press"));

bk.setDate(rs.getString("pubdate"));

bk.setPrice(rs.getString("price"));

list.add(bk);

}

rs.close();

} catch (Exception e) {

}

jdbc.close();

return list;

}

可是,我在表单中输入无论输不输人网页的前台都全部显示的。然后我又在控制台打印出sql 语句,把语句粘贴到MySQL控制台执行,还是全部显示,请大神指教,这个SQL语句应该怎么写啊?

JSP页面是这样的:

Java中SQL语句是

String sql ="select * from tbl_book where isbn like '%"+isbn+"%' or bookname like '%"+bookname+

"%' or author like '%"+author+"%'";但还是全部显示?

——————————————————————————————————————————

我明白了,如果传过来的参数isbn="",bookname="张三",author="",转化成SQL语句就成为:

select * from tbl_bookname where isbn like '%' or bookname like '%张三%' or author like '%';

因为是OR的关系,肯定每次查询都是全部记录。所以,我觉得应该不是数据库的问题,应该是我的程序有逻辑设计问题,我再考虑,感谢您热心回答^_^。

展开

最后

以上就是优秀书本为你收集整理的JAVA中mysql多个条件怎么模糊查询_Java中怎么实现带参数的多条件的模糊查询?...的全部内容,希望文章能够帮你解决JAVA中mysql多个条件怎么模糊查询_Java中怎么实现带参数的多条件的模糊查询?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部