记录一个逻辑性错误,抓狂了半小时,终于发现了他。
是一段很简单的代码,写法如下图。
public class LogServiceImpl implements IlogService {
@Override
public List<EntityLog> selectlog(String uname, String upwd) {
SqlSession session = MyBatisUtil.getSqlSession();
ILogDao dao=session.getMapper(ILogDao.class);
MyBatisUtil.close();
return dao.selectlog(uname,upwd);
}
}
然后就会报一个找不到构造方法的错误。
原因是我为了省事,直接中return中调用方法返回,但是在return之前就已经关闭了Sqlsession,所以就会有个逻辑性的错误。
解决办法:先把方法返回值保存下来,再关闭,然后返回保存的值就解决了。写法如下。
import java.util.List;
/**
* Created by Zhu on 2021/4/16.
*/
public class LogServiceImpl implements IlogService {
@Override
public List<EntityLog> selectlog(String uname, String upwd) {
SqlSession session = MyBatisUtil.getSqlSession();
ILogDao dao=session.getMapper(ILogDao.class);
List<EntityLog> list=dao.selectlog(uname,upwd);
MyBatisUtil.close();
return list;
}
}