Mybatis新发现—在idea中数据库操作出现了异常,最好的查错助手居然是这个!
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
先导包
pom.xml下
<dependencies><!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency> </dependencies>
新建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
- 配置实现
<settings><setting name="logImpl" value="LOG4J"/>
</settings>
- Log4j使用
@Testpublic void testLog4j(){logger.info("info:进入了testLog4j"); // System.out.println("info:进入了testLog4j");logger.debug("debug:进入了testLog4j");logger.error("error:进入了testLog4j");}
Mybatis新发现—在idea中数据库操作出现了异常,最好的查错助手居然是这个!相关推荐
- Access 中数据库操作时提示from子句语法错误
问题:如果在Access 中数据库操作时提示from子句语法错误 原因:语句中某一单词为Access中的关键字.如:select * from user.其中user就是一关键字. 解决:用中括号[] ...
- qt中数据库操作总结
#include <QtSql> QT += sql QSqlDatabase类实现了数据库连接的操作 QSqlQuery类用来执行SQL语句 QSqlRecord类 封装数据库所有记录 ...
- java中的数据库操作_Java中数据库操作的流程介绍
1.java数据库操作基本流程 a .数据库连接1.Drivermanager 链接数据库 String className,url,uid,pwd; className="oracle.j ...
- python3数据库表关联_Django中数据库操作|python3教程|python入门|python教程
https://www.xin3721.com/eschool/pythonxin3721/ 一.数据库中时间类型 1.三种时间类型:DateTimeField.DataField.TimeField ...
- 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理
Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...
- 解决pl/sql devloper 中数据库操作语句中文乱码的问题
1.查看服务器端编码 select userenv('language') from dual; 当前返回值:AMERICAN_AMERICA.ZHS16GBK 2. 执行语句 select * fr ...
- OC中数据库操作(类方法)
1.创建表格 +(sqlite3 *)getMySQL{ sqlite3 *mySQL; //打开数据库,如果没有就创建 //拼接路径 NSString *docPath = [NSSearchPat ...
- c#利用反射+特性实现简单的实体映射数据库操作类实现自动增删改查(一)
///对字段特性的映射类 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...
- 简单的php数据库操作类代码(增,删,改,查)
数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...
最新文章
- 美多商城之商品(商品搜索)
- 发送消息时,设定TTL
- linux上用的端口转发工具,linux下最简单好用的的端口转发工具
- 基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba的企业级微服务敏捷开发系统架构
- How to Install MariaDB 10 on CentOS 6.7
- 阴阳师服务器维修拖延,阴阳师12月11日更新维护公告 阴阳师百闻牌联动开启
- $(img)是什么意思_什么原因可以让你坚持跑步?医生总结5点,足以让你告别懒惰...
- 解决vscode中getch()函数报错。C语言。getch()的头文件。
- 脑力大挑战,1分钟 Serverless 部署“线上魔方”赢魔方
- SPSS学习 日记
- C语言编写一个掷骰子猜大小游戏,用C语言模拟一种掷骰子游戏
- mac注销快捷键_Mac小技巧 - 快捷键符号解释及用法介绍
- RMSE(均方根误差)、MSE(均方误差)、MAE(平均绝对误差)、SD(标准差)
- 开展网络口碑营销之前必须做好的几件事
- html小游戏打砖块,打砖块.html
- MQTT服务的Qos
- pom.xml详解撸一下基础
- Kaggle Faster Data Science Education coursera
- 三种批量删除PLSQL写法效率的比对
- Zigbee协议栈ZStack构架
热门文章
- 企业监控服务器Cacti、nagios服务器
- elasticsearch 7.3使用x-pack kibana登录
- grafana+zabbix 部署分布式监控系统
- Eclipse插件安装之,使用(已经下载的zip)安装包直接安装插件(例:glassfish 插件 plugin)
- 【PostgreSQL-9.6.3】如何得到psql中命令的实际执行SQL
- 解决 ORA-28001: the password has expired 问题
- APACHE服务器出现No input file specified.解决方案
- 深度学习解决NLP问题:语义相似度计算
- 如何为curl命令添加数据?
- 如何使用内联onclick属性停止事件传播?