p6spy
它的作用就是将mapper层执行的sql语句显示出来看看是否符合你的预期
第一步:导入p6spy的相关jar包
第二步:导入p6spy的配置文件
第三步:修改database.properties中的driver和url
图片中的是mysql8.0前的版本
如果mysql为8.0那么配置为
#p6spy
driver=com.p6spy.engine.spy.P6SpyDriver
url=jdbc:p6spy:mysql://localhost:3306/dt48?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT
username=root
password=12345
二、Log4j与ssm整合
当服务器上线后错误会记录在日志中,然后我们解决
第一步:导入log4j的jar包
第二步:书写log4j的配置文件
第三步:调用log4j中的记录日志方法
注释中为自定义的日志
package cn.java.controller.exception;
//import java.io.File;
//import java.io.FileOutputStream;
//import java.io.PrintStream;
//import java.text.SimpleDateFormat;
//import java.util.Date;
import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
/**
* @Description: TODO统一的异常处理器
* @Title: GlobalExceptHandler.java
* @author: Matthew
* @date: 2019年3月21日 下午5:19:56
* @version V1.0
*/
@ControllerAdvice
public class GlobalExceptHandler {
private static Logger logger = Logger.getLogger(GlobalExceptHandler.class);
@ExceptionHandler(Exception.class)
public String handException(Exception exception){
// exception.printStackTrace();//将错误信息单独保存到一个文件中(ssm.log)--》log4j
// log4j书写方法
String errorMessage = exception.getMessage();
// System.out.println(errorMessage);
logger.debug(errorMessage);
//自定义错误日志
/*try {
//改为追加
FileOutputStream fStream = new FileOutputStream(new File("E:\\workspace\\ssm\\ssmerror.log"), true);
PrintStream pStream = new PrintStream(fStream);
//换行
pStream.write("\r\n".getBytes("utf-8"));
//获取系统当前时间,然后将时间记录到日志文件中
Date date = new Date();
//大写M代表月,小写m代表分,大写HH代表24小时制,小写hh代表12小时制
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String time = simpleDateFormat.format(date);
pStream.write(time.getBytes("utf-8"));
//换行
pStream.write("\r\n".getBytes("utf-8"));
//将错误信息记录到指定的文件中去
exception.printStackTrace(pStream);
//关闭流
pStream.close();
fStream.close();
} catch (Exception e) {
e.printStackTrace();
}*/
return "error/error.jsp";
}
}