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 ?
为情所困
为情所困 2017-06-12 09:21:52
0
1
971
 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.

为情所困
为情所困

répondre à tous(1)
typecho

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!