Java@踩坑系列
Mybatis查表问题
Mybatis+Oracle数据库
所查数据非唯一时
所查数据记录在表中可能非唯一时,即使使用未初始化的集合接收查表结果,返回的也不是null,而是一个size=0的空集合。
List<StmDta> stmDtaList;
stmDtaList = stmDtaMapper.select(cltNbr); //非唯一索引
if(stmDtaList == null){
//当表中记录为空时,返回的stmDtaList是一个被初始化了的,size=0的空集合,而非null,因此不会进入该if逻辑
......
}
所查数据唯一时
当所查数据记录在表中唯一时,即使用的是唯一索引,使用未初始化的数据对象(domain)接收,当数据记录不存在时,domain为null。
StmDta stmDta;
stmDta = stmDtaMapper.select(cltNbr, stmNbr); //唯一索引
if(stmDta == null) {
//当表中记录为空时,stmDta为null,会进入该if逻辑
}