博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
菜鸟第一发:jdbc多条件组合查询
阅读量:5732 次
发布时间:2019-06-18

本文共 1721 字,大约阅读时间需要 5 分钟。

注册了园子账号两个月了,今天刚开通博客,博客页面一片空白,对于有强迫症的我来说实在看得难受,刚好小菜鸟我最近做老师布置的课程设计需要组合查询,一开始我傻傻的拼sql语句,界面看起来乱七八糟啊,请教过老师后知道可以将表单获取的数据存进map中,再动态拼接sql语句。测试了一下发现我之前实在是太傻X了,哦马嘎!

这是我第一篇博客,记录最近的小心得,高手勿喷,谢谢。

表单处理

1 
2 编号:
3 修改日期:
4
5

 

逻辑处理

1 String field1=request.getParameter("field1");                                             String field2=request.getParameter("field2");                               2 Map
map=new HashMap
(); //用HashMap以键值对的形式存储数据库字段名和赋值 3 if(field1!=null&&!field1.equals("")){ 4 map.put("field1", field1); 5 } 6 if(field2!=null&&!field2.equals("")){ 7 map.put("field2", field2); 8 } 9 StringBuffer sqlBuffer=new StringBuffer("select * from tableName where 1=1");10 for(final Entry
entry:map.entrySet()){11 sqlBuffer.append(" and ").append(entry.getKey()).append("=?"); //字符串流动态拼接sql语句12 }13 System.out.println(sqlBuffer.toString());14 pstmt=con.prepareStatement(sqlBuffer.toString(),ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);15 int i=1;16 for(final Entry
entry:map.entrySet()){17 pstmt.setObject(i, entry.getValue()); //动态为占位符赋值18 i++;19 }20 pstmt.execute();21 ResultSet rSet=pstmt.getResultSet;22

 

然后把ResultSet遍历存进list,再在jsp页面遍历显示就行了。

当然还有更好的方法,最近稍微学了下spring和hibernate,发现hibernate实现这个很容易也很方便。

这是我第一篇博客,我现在编程能力不济,要坚持学习,希望我的博客能见证我的进步,渴望成为大牛的那一天,努力吧!

转载于:https://www.cnblogs.com/pigbigbig/p/3736635.html

你可能感兴趣的文章