您能否帮助弄清楚为什么以下Java代码返回空列表
return this.getJdbcTemplate().queryForList(
"select cn from group g, group_relationship r, " +
"group_member m where g.name='administratorGroup' and g.group_id=r.group_id " +
"and r.member_id=m.member_id and m.cn like ?",
String.class,
new Object[] { cn + "%" });
我用sqlplus测试过,替换?使用'd%',查询返回cn start with d。
的列表答案 0 :(得分:0)
new Object[] { cn + "%" )
除非变量cn
为d
,否则在结尾处不正确。
答案 1 :(得分:0)
确保你没有为cn == null调用它,因为在这种情况下cn +“%”变为“null%”,这就是它可能返回0条记录的原因。
答案 2 :(得分:0)
感谢大家的帮助,问题解决了,我不知道JUnit测试是使用内存数据库,试图将JUnit测试结果与测试数据库进行比较,在内存数据库中添加条目后,测试返回正确的结果