MyBatis 中使用 XML 方式构建 SqlSessionFactory

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26765193/article/details/84176922

首先,在 MyBatis 中的 XML 分为两类,一类是基础配置文件,通常只有一个,主要是配置一些最基本的上下文参数和运行环境;另一类是映射文件,它可以配置映射关系、SQL、参数等信息。先看一份简易的基础配置文件,我们把它命名为 mybatis-config.xml,放在工程类路径下,其内容代码如下:

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>
    <typeAliases>
    <!-- 别名-->
        <typeAlias alias="role" type="com.learn.ssm.chapter1.pojo.Role"/>
    </typeAliases>
    <!--数据库环境-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </enviroments>
    <!--映射文件-->
    <mappers>
        <mapper resource="com/learn/ssm/chapter1/mapper/RoleMapper.xml"/>
    </mappers>
</configuration>

描述一下 MyBatis 的基础配置文件:

  • <typeAlias> 元素定义了一个 role,它代表着 com.learn.ssm.chapter1.pojo.Role 这个类。这样定义后,这里 MyBatis 上下文中就可以使用别名去代替全限定名了。
  • <environment> 元素的定义,这里描述的是数据库。它里面的<transactionManager> 元素是配置事务管理器,这里采用的是 MyBatis 的 JDBC 管理器方式。然后采用 <dataSource> 元素配置数据库,其中属性 type="POOLED" 代表采用 MyBatis 内部提供的连接池方式,最后定义一些关于 JDBC 的属性信息。
  • <mapper> 元素代表引入的那些映射器。

有了基础配置文件,就可以用一段很简单的代码来生成 SqlSessionFactory 了,代码如下所示:

通过 XML 构建 SqlSessionFactory 

SqlSessionFactory sqlSessionFactory = null;
String resource = "mybatis-config.xml";
InputStream inputStream;
try{
    inputStream = Resource.getResourceAsStream(resource);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}catch (IOException e){
    e.printStackTrace();
}

首先读取 mybatis-config.xml,然后通过 SqlSessionFactoryBuilder 的 build 方法去创建SqlSessionFactory 。整个过程叫简单,里面步骤较繁琐,只是 MyBatis 采用 Builder 模式为发开发者隐藏了这些细节,这样一个 SqlSessionFactory 就被创建出来了。

采用 XML 创建的方式,信息在配置文件中,有利于我们日后的修改和维护,避免了重新编译代码。

猜你喜欢

转载自blog.csdn.net/qq_26765193/article/details/84176922