日期:2014-05-17  浏览次数:20770 次

我是新手啊,想知道jsp+servlet+javabean到底是怎么实现查询功能的。
具体什么步骤啊?看了很多都只有实现全部查找。
给你一个搜索框,怎么实现按搜索框中的内容,查询到数据呢?

------解决方案--------------------
楼主还是去找个视频看看吧,重新学学
推荐马士兵的
------解决方案--------------------
随便找个人的视频就行,看过挺多人的,讲的都挺好,马士兵的比较有意思
------解决方案--------------------
既然你看了查询全部数据,那同样的道理,只不过他传的条件时1=1,你分析一下就明白了,将1=1这个条件换成你输入框的条件就ok了,这里只给你列一下查询这一块的区别。
比如:查全部
public List<User> getAllUsers(){
//下面三行要抽离封装一下的,这里演示就不搞复杂了
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mysqldb1";
Connection conn = DriverManager.getConnection(url, "root", "root");

Statement st = conn.createStatement();
String sql = "select * from user where 1=1";
ResultSet rs = st.executeQuery(sql);
List<User> users = new ArrayList<User>();
User user = null;
while (rs.next()) {
user = new User();
user.setId(rs.getString("id"));
user.setName("zhangsan");
users.add(user);
}
return users;
}
按条件查询:
public List<User> getAllUsersByName(String name){
//下面三行要抽离封装一下的,这里演示就不搞复杂了
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mysqldb1";
Connection conn = DriverManager.getConnection(url, "root", "root");

Statement st = conn.createStatement();
String sql = "select * from user where name = ?";
PreparedStatement pre = conn.prepareStatement(sql);
pre.setString(1, name);
ResultSet rs = pre.executeQuery();
List<User> users = new ArrayList<User>();
User user = null;
while (rs.next()) {
user = new User();
user.setId(rs.getString("id"));
user.setName(name);
users.add(user);
}
return users;
}
你对比一下区别就明白了,就是条件的不同,按条件的话,将搜索框的条件作为形参传入方法中
------解决方案--------------------
简单 的说 就是在搜索按钮哪里调用一个方法 那个方法就是你写的类  类的内容就是连接数据库 后按照XXXX查询。