老师提出的两个问题怎么才能做到呢?

来源:2-6 JDBC实战---搭建模型层 Ⅳ

王之我姓

2016-12-20 17:44

有没有大神知道

写回答 关注

5回答

  • wanttoplay
    2016-12-22 00:15:43
    已采纳
    /*
    *换成or的话把1=1换成 1=0 任意一种结果为false的等式
    *查birthday的map这么填就行,日期注意加分号
    */
    List<Map<String,Object>> params = new ArrayList<Map<String,Object>>();
    	Map<String,Object> para = new HashMap<String,Object>();
    	para.put("name", "birthday");
    	para.put("rela", ">");
    	para.put("value","'1991-3-24'");
    	params.add(para);
        List<Users> us = d.query(params);


    王之我姓 回复wantto...

    } catch (Exception e) { e.printStackTrace(); System.out.println("不存在该学生"); ​} } if (OPERATION_SEARCH.equals(prenious)) { step++; } 每一次进来都会new一下 st导致并不能存储。但是不new一下。就报错。放在if里面也报错

    2016-12-23 17:16:19

    共 7 条回复 >

  • zjxjwxk
    2018-03-13 17:26:15

    就是问 query(List<Map<String, Object>> params)

    这个方法里的SELECT语句能不能把 AND 改成 OR 

    那是不是可以把  " AND " 和 " OR " 像"name" 、"rela" 、"value" 一样一起放在Map中,来选择是 AND 还是 OR,通过map.get("...") 获取AND 或者 OR

    这样不用另外写一个方法?

    王之我姓

    你说的是成立的。没有问题。但是什么叫做不用写另一个方法。另一个方法是什么我忘了。不过再次说明。你的想法是可以的。具体实现。你可以试试。不会再问我。

    2018-03-13 18:05:38

    共 1 条回复 >

  • zjxjwxk
    2018-03-13 16:34:38

    我在想能不能把AND OR也当参数放在Map里?

    王之我姓

    我已经忘记。他问的问题是什么了。你能描述一下吗?我可以给你回答

    2018-03-13 16:37:34

    共 1 条回复 >

  • 落叶萧萧online
    2017-09-12 14:44:19

    不需要更改1=1

    sql.append("SELECT * from imooc_goddess where 1=1");
    if(params!=null&&params.size()>0){
        sql.append(" and (");
        for(int i=0;i<params.size();i++){
            Map<String,Object> map=params.get(i);
            if(i<(params.size()-1))sql.append(" "+map.get("name")+" "+map.get("rela")+" "+
                    map.get("value")+" or ");
            if(i==(params.size()-1))sql.append(" "+map.get("name")+" "+map.get("rela")+" "+
                    map.get("value")+")");
        }
    }


  • 学徒王小明
    2017-03-11 10:47:20

    用or做为条件查询,将sql 的条件改为 1=2 即可

    sb.append("select * from imooc_goddess  where 1=2 ");
    
    if(params != null && params.size() > 0)
    {
    for(int i = 0;i < params.size();i++){
    Map<String,Object> map  = params.get(i);
    sb.append(" or "+map.get("name")+" " + map.get("rela")+" " +map.get("value"));
    }
    }


JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 856 问题

查看课程

相似问题