学科分类
目录
SSM框架

编写配置文件

在Eclipse中,创建一个名称为chapter10的Web项目,将上一小节中所准备的全部JAR包添加到项目的lib目录中,并发布到类路径下。

在项目的src目录下,分别创建db.properties文件、Spring的配置文件,以及MyBatis的配置文件,如文件1、文件2和文件3所示。

文件1 db.properties

 1    jdbc.driver=com.mysql.jdbc.Driver
 2    jdbc.url=jdbc:mysql://localhost:3306/mybatis
 3    jdbc.username=root
 4    jdbc.password=root
 5    jdbc.maxTotal=30
 6    jdbc.maxIdle=10
 7    jdbc.initialSize=5

在文件1中,除配置了连接数据库的基本4项外,还配置了数据库连接池的最大连接数(maxTotal)、最大空闲连接数(maxIdle),以及初始化连接数(initialSize)。

文件2 applicationContext.xml

 1    <?xml version="1.0" encoding="UTF-8"?>
 2    <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 4        xmlns:aop="http://www.springframework.org/schema/aop"
 5        xmlns:tx="http://www.springframework.org/schema/tx" 
 6        xmlns:context="http://www.springframework.org/schema/context"
 7        xsi:schemaLocation="http://www.springframework.org/schema/beans 
 8        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
 9        http://www.springframework.org/schema/tx 
 10        http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
 11        http://www.springframework.org/schema/context 
 12        http://www.springframework.org/schema/context/spring-context-4.3.xsd
 13        http://www.springframework.org/schema/aop 
 14        http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
 15        <!--读取db.properties -->
 16        <context:property-placeholder location="classpath:db.properties"/>
 17        <!-- 配置数据源 -->
 18        <bean id="dataSource" 
 19                class="org.apache.commons.dbcp2.BasicDataSource">
 20            <!--数据库驱动 -->
 21            <property name="driverClassName" value="${jdbc.driver}" />
 22            <!--连接数据库的url -->
 23            <property name="url" value="${jdbc.url}" />
 24            <!--连接数据库的用户名 -->
 25            <property name="username" value="${jdbc.username}" />
 26            <!--连接数据库的密码 -->
 27            <property name="password" value="${jdbc.password}" />
 28            <!--最大连接数 -->
 29            <property name="maxTotal" value="${jdbc.maxTotal}" />
 30            <!--最大空闲连接  -->
 31            <property name="maxIdle" value="${jdbc.maxIdle}" />
 32            <!--初始化连接数  -->
 33            <property name="initialSize" value="${jdbc.initialSize}" />
 34        </bean>
 35        <!-- 事务管理器,依赖于数据源 --> 
 36        <bean id="transactionManager" class=
 37         "org.springframework.jdbc.datasource.DataSourceTransactionManager">
 38            <property name="dataSource" ref="dataSource" />
 39        </bean>    
 40        <!--开启事务注解 -->
 41        <tx:annotation-driven transaction-manager="transactionManager"/>
 42        <!--配置MyBatis工厂 -->
 43        <bean id="sqlSessionFactory" 
 44                class="org.mybatis.spring.SqlSessionFactoryBean">
 45             <!--注入数据源 -->
 46             <property name="dataSource" ref="dataSource" />
 47             <!--指定核心配置文件位置 -->
 48       <property name="configLocation" value="classpath:mybatis-config.xml"/>
 49       </bean>
 50    </beans>

在文件2中,首先定义了读取properties文件的配置,然后配置了数据源,接下来配置了事务管理器并开启了事务注解,最后配置了MyBatis工厂来与Spring整合。其中,MyBatis工厂的作用就是构建SqlSessionFactory,它是通过mybatis-spring包中提供的org.mybatis.spring.SqlSessionFactoryBean类来配置的。通常,在配置时需要提供两个参数:一个是数据源,另一个是MyBatis的配置文件路径。这样Spring的IoC容器就会在初始化id为sqlSessionFactory的Bean时解析MyBatis的配置文件,并与数据源一同保存到Spring 的Bean中。

文件3 mybatis-config.xml

 1    <?xml version="1.0" encoding="UTF-8" ?>
 2    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 3        "http://mybatis.org/dtd/mybatis-3-config.dtd">
 4    <configuration>
 5        <!--配置别名 -->
 6        <typeAliases>
 7            <package name="com.itheima.po" />
 8        </typeAliases>
 9        <!--配置Mapper的位置 -->
 10        <mappers> 
 11            ...
 12        </mappers>
 13    </configuration>

由于在Spring中已经配置了数据源信息,所以在MyBatis的配置文件中就不再需要配置数据源信息。这里只需要使用<typeAliases>和<mappers>元素来配置文件别名以及指定Mapper文件位置即可。

此外,还需在项目的src目录下创建log4j.properties文件,该文件的编写可参考“初识MyBatis”一章的入门案例,也可将前面章节所创建的该文件复制到此项目中使用。

点击此处
隐藏目录