文章目录
- 1 背景
- 2 debug一探究竟
-
- 2.1 mybatis-spring包中的SqlSessionTemplate
- 2.2 sqlSessionProxy对象
- 2.3 SqlSessionInterceptor类
- 2.4 DefaultSqlSession.selectList(String statement, Object parameter)
- 2.5 BaseExecutor.query
- 2.6 MybatisSimpleExecutor.doQuery
- 2.7 PreparedStatementHandler.query
- 2.8 DefaultResultSetHandler.handleResultSets
- 2.9 DefaultResultHandler.handleResult
- 2.10 如何构造DefaultResultHandler?DefaultObjectFactory.create(List.class)
- 3 结论
- 参考
1 背景
Code Review的时候发现有小伙伴对mapper接口返回的list先做判null,然后不为null再进行操作。示例代码如下:
List<User> userList = mapper.selectList(Wrappers.query());
if