搜索
简帛阁>技术文章>Mybatis-part06日志

Mybatis-part06日志

6.日志

6.1日志工厂

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

曾经:sout,debug

现在:日志工厂

  • SLF4J
  • LOG4J
  • LOG4J2
  • JDK_LOGGING
  • COMMONS_LOGGING
  • STDOUT_LOGGING
  • NO_LOGGING

在Mybatis中具体使用哪一个日志实现,在设置中设定!

配置日志文件

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

6.2Log4j

什么时Log4j?

1.先导入Log4j的包,

<dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
</dependency>

2.log4j.properties

#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
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/log4j.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

3.配置log4j为日志的实现

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

4.Log4j的使用,直接测试运行刚才的查询

简单使用

1.在要使用Log4j的类中,导入包import org.apache.log4j.Logger;

2.日志对象,参数为当前类的class

static Logger logger=Logger.getLogger(UserDaoTest.class);

3.日志级别

logger.info("info:进入了testLog4j");
logger.debug("debug:进入了testLog4j");
logger.error("error:进入了testLog4j");

此文章来源于哔哩哔哩狂神说学习笔记

6日志61日志工厂如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手曾经:sout,debug现在:日志工厂SLF4JLOG4JLOG4J2JDK_LOGGINGCOMMONS_LOGG
6、整合SSM框架整合SSM框架在上一节中,我们了解了SpringMVC参数接收处理和结果跳转处理!现在我们来看看,如何集成SSM框架!完整项目的整合!整合SSM环境要求环境:IDEAMySQL571
由于工作关系,用到iBatis2,发现它用起来非常方便,节省了很多bean的setter,getter和参数设置、preparedStatement的操作,不用在程序中拼接大量的sql语句,而且内置支
抽象类抽象类可以看做是一种不完全的设计图,抽象类必须使用abstract修饰,抽象方法必须放在抽象类中publicabstractclassAnimal{<!>publicabstract
2、第一个Mybatis程序思路:搭建环境–>导入Mybatis–>编写代码–>测试!21、搭建环境搭建数据库CREATEDATABASE`mybatis`;USE`mybatis`;INSERTI
10多对一多个学生,对应一个老师对于学生这边而言,关联。。多个学生,关联一个老师【多对一】对于老师而言,集合,一个老师有很多学生【一对多】SQL:CREATETABLE`teacher`(`id`IN
2、动态SQL什么是动态SQL:动态SQL就是根据不同的条件生成不同的SQL语句动态SQL元素和JSTL或基于类似XML的文本处理器相似。在MyBatis之前的版本中,有很多元素需要花时间了解。My
7分页为什么要分页?减少数据的处理量71使用Limit分页使用Limit分页SELECT*fromm_userlimitstartIndex,pageSize;SELECT*fromm_userlim
8、使用注解开发81、面向接口编程大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程根本原因︰解耦,可拓展,提高复用,分层开发中,上层不用管具体的实现,大家都遵
11、一对多比如:一个老师拥有多个学生!对于老师而言,一对多的关系1搭建环境实体类@DatapublicclassStudent{<!>privateintid;privateString