Java第三十七天,Mybatis框架系列,配置文件琐碎知识点

一、XML 文件支持 properties 属性

xml 文件内部是支持 properties 标签的定义的;因此我们可以将 jdbc 的配置信息写到 properties 标签里

方法一:xml 内部完成 properties 标签的数据写入

<?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>
        <!--配置连接数据库的基本信息-->
        <property name="driver" value="com.mysql.jdbc.Driver"/> <!--数据库驱动-->
        <property name="url" value="jdbc:mysql://localhost:3306/lanyue"/> <!--指明哪个数据库-->
        <property name="username" value="root"/>    <!--数据库用户名-->
        <property name="password" value="123456"/>  <!--数据库用户名密码-->
    </properties>
    <!--主配置文件-->
    <!--配置环境-->
    <environments default="mysql">  <!--可为任意值,但该值必须出现在下面的 environment 标签中-->
        <!--配置mysql环境-->
        <environment id="mysql">
            <!--事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置m数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的基本信息-->
                <!--value 可以直接使用 ${} 的方式读取上面定义的变量-->
                <property name="driver" value="${driver}"/> <!--数据库驱动-->
                <property name="url" value="${url}"/> <!--指明哪个数据库-->
                <property name="username" value="${username}"/>    <!--数据库用户名-->
                <property name="password" value="${password}"/>  <!--数据库用户名密码-->
            </dataSource>
        </environment>
    </environments>

    <!--用resource属性指明配置文件-->
    <mappers>
        <mapper resource="mybatis/userDao.xml"/>
    </mappers>
</configuration>

方法二:在 xml 文件的 properties 标签里通过 url 或 resource 属性引用外部配置文件

例如:

jdbcConfig.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/lanyue
username=root
password=123456

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>
    <!--properties 既可以在xml文件内部配置;也可以引用外部文件信息-->
    <!--resource 属性用于指定配置文件的位置;并且必须存在于类路径下(访问时根据与 resources 文件夹路径的相对路径)-->
    <!--url 也是用于指定配置文件的位置;但是要求按照 url 的写法写-->
    <!--url 格式: 协议 + 主机 + 端口 + uri 唯一标识互联网上任意主机的任意文件-->
    <!--uri 格式: 唯一标识应用内文件-->
    <!--<properties url="file:///J:/Project/Java/MySQLCURD/src/main/resources/jdbcConfig.properties">-->
    <!-- </properties>-->
    <properties resource="jdbcConfig.properties">
    </properties>

    <!--主配置文件-->
    <!--配置环境-->
    <environments default="mysql">  <!--可为任意值,但该值必须出现在下面的 environment 标签中-->
        <!--配置mysql环境-->
        <environment id="mysql">
            <!--事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置m数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的基本信息-->
                <!--value 可以直接使用 ${} 的方式读取上面定义的变量-->
                <property name="driver" value="${driver}"/> <!--数据库驱动-->
                <property name="url" value="${url}"/> <!--指明哪个数据库-->
                <property name="username" value="${username}"/>    <!--数据库用户名-->
                <property name="password" value="${password}"/>  <!--数据库用户名密码-->
            </dataSource>
        </environment>
    </environments>

    <!--用resource属性指明配置文件-->
    <mappers>
        <mapper resource="mybatis/userDao.xml"/>
    </mappers>
</configuration>

二、typeAliases(类型别名)和 package

1.作用:

在 mapper 配置文件中,我们可以看到 Int、String、Integer 等类型可以直接写,而我们的自定义实体类却不能;为什么呢?因为官方已经把常用的这些类做了别名;既然如此,那我们当然也可以自定义别名了

2.配置方法

<?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 既可以在xml文件内部配置;也可以引用外部文件信息-->
    <!--resource 属性用于指定配置文件的位置;并且必须存在于类路径下(访问时根据与 resources 文件夹路径的相对路径)-->
    <!--url 也是用于指定配置文件的位置;但是要求按照 url 的写法写-->
    <!--url 格式: 协议 + 主机 + 端口 + uri 唯一标识互联网上任意主机的任意文件-->
    <!--uri 格式: 唯一标识应用内文件-->
    <!--<properties url="file:///J:/Project/Java/MySQLCURD/src/main/resources/jdbcConfig.properties">-->
    <!-- </properties>-->
    <properties resource="jdbcConfig.properties">
    </properties>

    <!--通过 typeAliase 标签配置类名的别名-->
    <!--type 标签指明要被设置别名的全限定类名;alias 标签指明要设置成的别名名称-->
    <!--制订了别名后不再区分大小写-->
    <!--typeAliases 中的 package 用来指定要配置别名的包,当指定之后,该包下的所有类都自动注册别名,别名为类名-->
    <typeAliases>
        <typeAlias type="entil.User" alias="user"></typeAlias>
        <!--<package name="entil"/>-->
    </typeAliases>

    <!--主配置文件-->
    <!--配置环境-->
    <environments default="mysql">  <!--可为任意值,但该值必须出现在下面的 environment 标签中-->
        <!--配置mysql环境-->
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <!--配置m数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的基本信息-->
                <!--value 可以直接使用 ${} 的方式读取上面定义的变量-->
                <property name="driver" value="${driver}"/> <!--数据库驱动-->
                <property name="url" value="${url}"/> <!--指明哪个数据库-->
                <property name="username" value="${username}"/>    <!--数据库用户名-->
                <property name="password" value="${password}"/>  <!--数据库用户名密码-->
            </dataSource>
        </environment>
    </environments>

    <!--用resource属性指明配置文件-->
    <!--mappers 中的 package 标签用于指定 dao 接口所在的包;当指定了之后,就不需要再写 mapper、 resources 或者 class 了;注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中-->
    <mappers>
        <package name="dao"/>
<!--         <mapper resource="dao/UserDao.xml"/>-->
    </mappers>
</configuration>

 

posted @ 2020-08-01 17:08  IT蓝月  阅读(121)  评论(0编辑  收藏  举报
Live2D