Heim  >  Fragen und Antworten  >  Hauptteil

mybatis – Warum kann das Java-Backend Objekte nicht mit booleschen Attributen herausfiltern, kann aber in den String-Typ geändert werden?

 public JSONArray getTreeNodes(String departmentSn) {
        Department department = new Department();
        JSONArray jsonArray = new JSONArray();
        if (!departmentSn.equals("-1")) {
            department.setParentDepartmentSn(departmentSn);
        } else {
//这里将department的一个布尔属性设置为true
         department.setHasActivated(true);
        }
//在这里进行筛选
        List<Department> departments = departmentMapper.select(department);
        System.out.print(departments);
        for (Department DEP : departments) {
            Department d = new Department();
            Department sonDepartment = departmentMapper.selectByPrimaryKey(DEP.getDepartmentSn());
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("label", sonDepartment.getDepartmentName());
            jsonObject.put("data", sonDepartment.getDepartmentSn());
            d.setParentDepartmentSn(DEP.getDepartmentSn());
            if (departmentMapper.selectCount(department) == 0) {
                jsonObject.put("leaf", true);
            } else {
                jsonObject.put("leaf", false);
            }
            jsonArray.add(jsonObject);
        }
        return jsonArray;
    }
}

Wenn ich im obigen Code einen DepartmentSn übergebe, der nicht -1 ist, gelangt dieser nicht in den else-Zweig. Nach der folgenden Filterung ist die Ergebnismenge jedoch leer, wie unten gezeigt

Die Größe beträgt hier 0,
Und als ich das boolesche Attribut in der Entitätsklasse in ein String-Attribut geändert habe (wie im Bild gezeigt)

Vor der Änderung

Nach der Änderung

Die gefilterten Ergebnisse sind normal.


Die Größe beträgt hier 8.
Warum ist das so?
Außerdem habe ich versucht, das boolesche Attribut manuell auf false zuzuweisen, und das Ergebnis war ebenfalls leer, wie unten gezeigt.

为情所困为情所困2686 Tage vor981

Antworte allen(1)Ich werde antworten

  • typecho

    typecho2017-06-12 09:23:52

    实体类不要用基本类型,可以先试试 Boolean,如果有问题,把SQL贴出来看看。

    Antwort
    0
  • StornierenAntwort