Mybatis新发现——如果一个数据库操作出现了异常,最好的助手居然是这样!

1. 日志工厂

如果一个数据库操作出现了异常,我们需要排错。日志就是最好的助手。

曾经:sout,debug

现在:日志工厂

logImpl

  • SLF4J
  • LOG4J [掌握]
  • LOG4J2
  • JDK_LOGGING
  • COMMONS_LOGGING
  • STDOUT_LOGGING [掌握]
  • NO_LOGGING

具体使用哪一个,在设置中设定

STDOUT_LOGGING 标志日志输出

mybatis-confi中

<settings><setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

2.Log4j

  1. 先导包

    pom.xml下

    <dependencies><!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>
    </dependencies>
    
  2. 新建log4j.properties文件

### set log levels ###
log4j.rootLogger = DEBUG,console,file### 输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold = DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%c]-%m%n### 输出到日志文件 ###
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/hou.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n# 日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
  1. 配置实现
<settings><setting name="logImpl" value="LOG4J"/>
</settings>
  1. Log4j使用
    @Testpublic void testLog4j(){logger.info("info:进入了testLog4j");  //  System.out.println("info:进入了testLog4j");logger.debug("debug:进入了testLog4j");logger.error("error:进入了testLog4j");}

Mybatis新发现—在idea中数据库操作出现了异常,最好的查错助手居然是这个!相关推荐

  1. Access 中数据库操作时提示from子句语法错误

    问题:如果在Access 中数据库操作时提示from子句语法错误 原因:语句中某一单词为Access中的关键字.如:select * from user.其中user就是一关键字. 解决:用中括号[] ...

  2. qt中数据库操作总结

    #include <QtSql> QT += sql QSqlDatabase类实现了数据库连接的操作 QSqlQuery类用来执行SQL语句 QSqlRecord类 封装数据库所有记录 ...

  3. java中的数据库操作_Java中数据库操作的流程介绍

    1.java数据库操作基本流程 a .数据库连接1.Drivermanager 链接数据库 String className,url,uid,pwd; className="oracle.j ...

  4. python3数据库表关联_Django中数据库操作|python3教程|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ 一.数据库中时间类型 1.三种时间类型:DateTimeField.DataField.TimeField ...

  5. 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理

     Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...

  6. 解决pl/sql devloper 中数据库操作语句中文乱码的问题

    1.查看服务器端编码 select userenv('language') from dual; 当前返回值:AMERICAN_AMERICA.ZHS16GBK 2. 执行语句 select * fr ...

  7. OC中数据库操作(类方法)

    1.创建表格 +(sqlite3 *)getMySQL{ sqlite3 *mySQL; //打开数据库,如果没有就创建 //拼接路径 NSString *docPath = [NSSearchPat ...

  8. c#利用反射+特性实现简单的实体映射数据库操作类实现自动增删改查(一)

    ///对字段特性的映射类 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...

  9. 简单的php数据库操作类代码(增,删,改,查)

    数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...

最新文章

  1. 美多商城之商品(商品搜索)
  2. 发送消息时,设定TTL
  3. linux上用的端口转发工具,linux下最简单好用的的端口转发工具
  4. 基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba的企业级微服务敏捷开发系统架构
  5. How to Install MariaDB 10 on CentOS 6.7
  6. 阴阳师服务器维修拖延,阴阳师12月11日更新维护公告 阴阳师百闻牌联动开启
  7. $(img)是什么意思_什么原因可以让你坚持跑步?医生总结5点,足以让你告别懒惰...
  8. 解决vscode中getch()函数报错。C语言。getch()的头文件。
  9. 脑力大挑战,1分钟 Serverless 部署“线上魔方”赢魔方
  10. SPSS学习 日记
  11. C语言编写一个掷骰子猜大小游戏,用C语言模拟一种掷骰子游戏
  12. mac注销快捷键_Mac小技巧 - 快捷键符号解释及用法介绍
  13. RMSE(均方根误差)、MSE(均方误差)、MAE(平均绝对误差)、SD(标准差)
  14. 开展网络口碑营销之前必须做好的几件事
  15. html小游戏打砖块,打砖块.html
  16. MQTT服务的Qos
  17. pom.xml详解撸一下基础
  18. Kaggle Faster Data Science Education coursera
  19. 三种批量删除PLSQL写法效率的比对
  20. Zigbee协议栈ZStack构架

热门文章

  1. 企业监控服务器Cacti、nagios服务器
  2. elasticsearch 7.3使用x-pack kibana登录
  3. grafana+zabbix 部署分布式监控系统
  4. Eclipse插件安装之,使用(已经下载的zip)安装包直接安装插件(例:glassfish 插件 plugin)
  5. 【PostgreSQL-9.6.3】如何得到psql中命令的实际执行SQL
  6. 解决 ORA-28001: the password has expired 问题
  7. APACHE服务器出现No input file specified.解决方案
  8. 深度学习解决NLP问题:语义相似度计算
  9. 如何为curl命令添加数据?
  10. 如何使用内联onclick属性停止事件传播?