概述
我需要带三个参数,在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中怎么实现带参数的多条件的模糊查询?...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复