MyBatis3学习笔记(曹锋老师版)

第2讲

这一讲主要讲解了 Mybatis 的主配置文件。

下面是一个示例的配置文件:

<?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>
    <!-- <properties resource="jdbc.properties"/> -->
    <properties>
        <property name="jdbc.driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/db_mybatis"/>
        <property name="jdbc.username" value="root"/>
        <property name="jdbc.password" value="123456"/>
    </properties>
    <!-- <typeAliases>
        <typeAlias alias="Student" type="com.java1234.model.Student"/>
    </typeAliases> -->
    <typeAliases>
        <package name="com.java1234.model"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverClassName}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
        <environment id="test">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverClassName}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- <mapper resource="com/java1234/mappers/StudentMapper.xml" /> -->
        <!-- <mapper class="com.java1234.mappers.StudentMapper"/> -->
        <package name="com.java1234.mappers"/>
    </mappers>
</configuration>

1、environments 表示环境:支持多个环境可以任意配置,开发环境、测试环境、正式环境。

修改 default 属性。
2、事务管理器。

用来配置数据源,类型有:UNPOOLED,POOLED,JNDI。

UNPOOLED,没有连接池,每次数据库操作,MyBatis 都会创建一个新的连接,用完后,关闭;适合小并发
项目;
POOLED,用上了连接池;
JNDI,使用应用服务器配置JNDI 数据源获取数据库连接;

(1)UNPOOLED:没有连接池,每次数据库操作,MyBatis 都会创建一个新的连接,用完后,关闭;适合小并发项目;

(2)POOLED:使用了连接池,适用于大并发的环境。
(3)JNDI:使用应用服务器配置JNDI 数据源获取数据库连接。

4、配置属性
可以使用外部文件定义,也可以直接定义在配置文件里面。
5、配置别名
可以使用 package 包扫描,这是最佳实践。
6、mappers 引入映射的配置文件。
亦可以使用 package 进行配置。这是最佳实践。
class:
resource:这是使用接口写 SQL 的时候使用。
url:不推荐。
7、配置 log4j 日志文件。
(1)导入log4j的jar包;
(2)导入配置文件在src目录下,参考的配置文件如下:

log4j.rootLogger=info,appender1,appender2

log4j.appender.appender1=org.apache.log4j.ConsoleAppender 

log4j.appender.appender2=org.apache.log4j.FileAppender 
log4j.appender.appender2.File=C:/logFile.txt
 
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout  

(3)以后我们不推荐使用System.out.println();这种方式输出打印消息。下面是参考代码:

// 注册一个 Logger,也叫做日志记录器
    private static Logger logger=Logger.getLogger(StudentTest.class);
    
    public static void main(String[] args) {
        SqlSession sqlSession=SqlSessionFactoryUtil.openSession();
        StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);
        Student student=new Student("李四",11);
        int result=studentMapper.add(student);
        sqlSession.commit();
        if(result>0){
            // 使用这种方式输出日志信息
            logger.info("添加成功!");
        }
    }

 

posted @ 2015-03-03 23:29  李威威  阅读(236)  评论(0编辑  收藏  举报