Maison  >  Questions et réponses  >  le corps du texte

mybatis - Pourquoi le backend Java ne peut-il pas filtrer les objets à l'aide d'attributs booléens, mais peut-il être modifié en type String ?

 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;
    }
}

Dans le code ci-dessus, lorsque je passe un départementSn qui n'est pas -1, il n'entre pas dans la branche else Cependant, après le filtrage suivant, l'ensemble de résultats est vide, comme indiqué ci-dessous

.


La taille ici est de 0.
Et quand j'ai changé l'attribut booléen de la classe d'entité en un attribut de chaîne (comme indiqué dans l'image)

Avant modification

Après modification

Les résultats filtrés sont normaux.

La taille ici est de 8.
Pourquoi est-ce ?
De plus, j'ai également essayé d'attribuer manuellement l'attribut booléen à false, et le résultat était également vide comme indiqué ci-dessous.

为情所困为情所困2686 Il y a quelques jours974

répondre à tous(1)je répondrai

  • typecho

    typecho2017-06-12 09:23:52

    N'utilisez pas de types de base pour les classes d'entités. Vous pouvez d'abord essayer Boolean. Si vous rencontrez des problèmes, publiez le SQL et jetez-y un œil.

    répondre
    0
  • Annulerrépondre