什么是MyBatis
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java得到POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
导入的Jar包:
1、MyBatis.jar(核心jar包)
2、cglib-2.2.2.jar 动态代理的实现
commons-logging-1.1.1.jar 日志包
javassist-3.17.1-GA.jar 字节码解析包
log4j-1.2.17.jar 日志包
log4j-api-2.0-rc1.jar 日志
log4j-core-2.0-rc1.jar 日志
slf4j-api-1.7.5.jar 日志
slf4j-log4j12-1.7.5.jar 日志
mysql-connector-java-5.1.30.jar 驱动包
核心配置文件
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEconfiguration
PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
//用于指定使用哪个环境。defalut="用于指定使用的环境"
<environments default="dev">
//用于配置开发环境,环境可以配置多个,但使用只能1个。id="环境的唯一识别码"
<environment id="dev">
//事务管理器。type="用于设置mybatis采用什么方式管理事务"
<transactionManager type="JDBC"></transactionManager>
//数据源。用于配置连接池和数据库连接的参数。type="用于设置mybatis是否采用连接池技术";
//POOLED表示MyBatis采用连接池技术。
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
</configuration>
扫描映射文件。
<mappers> //全限定路径,文件的全限定路径用"/"来查找
<mapperresource="com/sxt/mapper/UserMapper.xml"/>
</mappers>
映射的SQL语句
log4j
log4j是Apache提供的一款记录日志的工具。
log4j既可以将日志信息打印在控制台,也可以打印输出到一个日志文件中。
log4j可以定制日志的输出格式。
log4j可以定制日志的输出级别。
日志级别
FATAL。 非常严重的错误,一般是系统错误。
ERROR。 错误,代表代码错误,比较严重
WARN。 警告,不影响程序的运行,但是可能存在风险。
INFO。 信息,表示一个普通的输出信息。
DEBUG。 调试,表示人为的一些调试信息。
log4j
日志的输出格式
%c:列出调用logger的类的全名
%d:显示日志记录时间
%F:显示logger的源文件名
%l:输出日志事件发生位置,包括类目名,发生的线程,以及在代码中的行数
%m:显示输出消息。
%n:换行符
%p:显示该条日志的优先级
%r:显示从程序启动到记录该日志已经过去的毫秒数
%t:输出产生该日志事件的线程名
%x:按NDC顺序输出日志
%%:显示一个百分号
MyBatis对log4j的支持
在核心配置文件中添加<settings></settings>标签,并且标签只能写在<environments>标签的前面,
写在后面会报顺序错误。
在测试时将日志模式更换为DEBUG模式
提高日志级别
整体日志级别:log4j.rootCategory=ERROR,CONSOLE
方法级别:log4j.logger.包名+类名.方法名=DEBUG
类级别: log4j.logger.包名+类名=DEBUG
包级别: log4j.logger.包名=DEBUG