iBatis微总结(数据检索及日志输出配置)
有如下两个点总结:
1,如果检索自定义对象,在数据库表中找不到匹配数据,将返回什么呢?
public UserInfo getUser4Login(Map<String, String> map){ UserInfo user = null; SqlMapClient sqlClient = CommonsDAO.getClient(); try { // TODO 调试确认,如果没有检索到数据,返回的是什么?非空代码有必要吗?强转出错不考虑,因为所有代码的返回类型是我来约束的 Object obj = sqlClient.queryForObject("selUser4Login", map); if(null != obj){ user = (UserInfo)obj; } } catch (SQLException e) { e.printStackTrace(); } return user; }
经过调试确认,将返回的是空。所以,务必进行非空判断,而不是直接强转,否则,可能出现空指针异常。
2,如果要让控制台显示iBatis的SQL日志,怎么配置呢?
以web项目开发为例,在src根目录下添加log4j.properties文件,其中包含如下内容:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug log4j.logger.java.sql.Connection=debug log4j.logger.java.sql.Statement=debug log4j.logger.java.sql.PreparedStatement=debug,stdout
相关推荐
yangkang 2020-11-09
lbyd0 2020-11-17
sushuanglei 2020-11-12
85477104 2020-11-17
KANSYOUKYOU 2020-11-16
wushengyong 2020-10-28
lizhengjava 2020-11-13
星月情缘 2020-11-13
huangxiaoyun00 2020-11-13
luyong0 2020-11-08
腾讯soso团队 2020-11-06
Apsaravod 2020-11-05
PeterChangyb 2020-11-05
gaobudong 2020-11-04
wwwjun 2020-11-02
gyunwh 2020-11-02
EchoYY 2020-10-31
dingyahui 2020-10-30