1.MyBatis运行环境
github上下载jar包:https://github.com/mybatis/mybatis-3/releases
lib下:依赖包
mybatis-3.2.7.jar:核心包
mybatis-3.2.7.pdf:操作指南
加入mysql的驱动包
2.log4j.properties配置
1.输出级别的种类
ERROR、WARN、INFO、DEBUG
ERROR 为严重错误 主要是程序的错误
WARN 为一般警告,比如session丢失
INFO 为一般要显示的信息,比如登录登出
DEBUG 为程序的调试信息
将mybatis log4j运行级别调到DEBUG可以在控制台打印出mybatis运行的sql语句,方便调试:
02
03
### 设置Logger输出级别和输出目的地 ###
04
log4j.rootLogger=debug,stdout,logfile
05
06
07
### 把日志信息输出到控制台 ###
08
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
09
#log4j.appender.stdout.Target=System.err
10
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
11
12
13
### 把日志信息输出到文件:jbit.log ###
14
log4j.appender.logfile=org.apache.log4j.FileAppender
15
log4j.appender.logfile.File=jbit.log
16
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
17
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
18
19
20
###显示SQL语句部分
21
log4j.logger.com.ibatis=DEBUG
22
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
23
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
24
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
25
log4j.logger.java.sql.Connection=DEBUG
26
log4j.logger.java.sql.Statement=DEBUG
27
log4j.logger.java.sql.PreparedStatement=DEBUG
3.SqlMapConfig.xml配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置mybatis的环境信息,与spring整合,该信息由spring来管理 -->
<environments default="development">
<environment id="development">
<!-- 配置JDBC事务控制,由mybatis进行管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源,采用mybatis连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 -->
<mappers>
<mapper resource="User.xml" />
<!-- <mapper resource="mapper/UserMapper.xml" /> -->
<!-- 批量加载映射文件 -->
<package name="com.itheima.mybatis.mapper" />
</mappers>
</configuration>
4.在SpringMVC整合MyBatis时的配置程序
spring-database.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
<!-- 1. 数据源 : DriverManagerDataSource -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
<!--
2. mybatis的SqlSession的工厂: SqlSessionFactoryBean dataSource:引用数据源
MyBatis定义数据源,同意加载配置
-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:config/mybatis-config.xml" />
</bean>
<!--
3. mybatis自动扫描加载Sql映射文件/接口 : MapperScannerConfigurer sqlSessionFactory
basePackage:指定sql映射文件/接口所在的包(自动扫描)
-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.tgb.mapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
<!--
4. 事务管理 : DataSourceTransactionManager dataSource:引用上面定义的数据源
-->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 5. 使用声明式事务
transaction-manager:引用上面定义的事务管理器
-->
<tx:annotation-driven transaction-manager="txManager" />
</beans>
mybatis的配置文件
具体参考官网:http://www.mybatis.org/mybatis-3/zh/configuration.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 实体类,简称 -设置别名 -->
<typeAliases>
<typeAlias alias="User" type="com.tgb.model.User" />
</typeAliases>
<!-- 实体接口映射资源 -->
<!--
说明:如果xxMapper.xml配置文件放在和xxMapper.java统一目录下,mappers也可以省略,因为org.mybatis.spring.mapper.MapperFactoryBean默认会去查找与xxMapper.java相同目录和名称的xxMapper.xml
-->
<mappers>
<mapper resource="com/tgb/mapper/userMapper.xml" />
</mappers>
</configuration>