Maison > Questions et réponses > le corps du texte
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.
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.