SSM框架之Mybatis(4)SqlMapConfig

Mybatis(4)SqlMapConfig.xml

SqlMapConfig.xml 中配置的内容和顺序

-properties (属性)
	--property
-settings(全局配置参数)
	--setting
-typeAliases (类型别名)
	--typeAliase
	--package
-typeHandlers(类型处理器)
-objectFactory(对象工厂)
-plugins(插件)
-environments(环境集合属性对象)
	--environment(环境子属性对象)
		---transactionManager(事务管理)
		---dataSource(数据源)
-mappers (映射器)
	--mapper
	--package

1、关于配置连接数据库的信息(关于properties标签的讲解)

注:以下所有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">

1.1、原始方法

直接通过environment下的dataSource直接配置

<configuration>
    <!--配置环境-->
    <environments default="mysql">
        <!--配置MySQL的环境-->
        <environment id="mysql">
            <!--配置事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接池的基本信息4个-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///eesy_mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

    <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
    <mappers>
        <mapper resource="dao/IUserDao.xml"/>
    </mappers>

</configuration>

1.2、通过properties标签配置对应的配置信息

可以在标签内部配置连接数据库的信息,也可以通过属性引用外部配置文件的信息

resource属性:resource="jdbcConfig.properties
    用于指定配置文件的位置,按照类路径来写,且配置文件必须保存在类路径下
    
url属性:
    是要求按照Url的写法来写地址
    URL:Uniform Resource Locator 统一资源定位符。它是可以唯一标识一个
资源的位置。
    它的写法:
        http://localhost:8080/mybatisserver/demo1Servlet
        协议      主机    端口       URI

URI:Uniform Resource Identifier 统一资源标识符。它是在应用中可以唯一定位
一个资源的。
url="file:///E:/java/code/ssm01_mybatis_DAO/src/main/resources/jdbcConfig.properties"

1.2.1、直接在SqlMapConfig.xml中配置

<configuration>
    
    <properties >
        <!--配置连接池的基本信息4个-->
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql:///eesy_mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
    </properties>

    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="dao/IUserDao.xml"/>
    </mappers>
</configuration>

1.2.2、通过resource属性加载位于SqlMapConfig.xml同包下的jdbcConfig.properties配置文件

SqlMapConfig.xml文件

<configuration>
    
    <properties resource="jdbcConfig.properties">
    </properties>

    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="dao/IUserDao.xml"/>
    </mappers>
</configuration>

jdbcConfig.properties配置文件

driver = com.mysql.jdbc.Driver
url = jdbc:mysql:///eesy_mybatis
username = root
password = 123456

1.2.3、通过url属性加载文件

configuration>
    
    <properties url="file:///E:/java/code/ssm01_mybatis_DAO/src/main/resources/jdbcConfig.properties">
    </properties>

    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="dao/IUserDao.xml"/>
    </mappers>
</configuration>

其中url="file:///E:/java/code/ssm01_mybatis_DAO/src/main/resources/jdbcConfig.properties"就是jdbcConfig.properties配置文件在文件夹中的位置。使用的是file协议。使用默认的主机及端口。

2.typeAliases标签的讲解

使用typeAliases配置别名,它只能配置domain中的类的别名

<typeAliases>
    <!--typeAlias属性用于配置别名,type:指定类的全限定类名,alise:指定别名,当指定别名后就不区分大小写因为数据库不区分大小写-->
    <!--<typeAlias type="domain.User" alias="user"/>-->
    <!--package属性用于指定要配置别名的包,指定后该包下的全部实体类都会注册别名,并且类名就是别名
    不再区分大小写-->
    <package name="domain"/>

</typeAliases>

3、mappers (映射器)

3.1 mapper resource=" "

使用相对于类路径的资源

<mappers>
        <mapper resource="dao/IUserDao.xml"/>
</mappers>

3.2 mapper class=" "

使用 mapper 接口类路径

<mappers>
        <mapper class="dao.UserDao"/>
</mappers>

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。

3.3 package name=""

注册指定包下的所有 mapper 接口

<mappers>
       <package name="dao"/>
</mappers>

注意:此种方法要求 mar pper 接口名称和 r mapper 映射文件名称相同,且放在同一个目录中。

posted @ 2019-04-20 23:00  紫月冰凌  阅读(166)  评论(0编辑  收藏  举报