zoukankan      html  css  js  c++  java
  • MyBatis系列(三) MyBatis 配置文件

    一、properties

    此标签的主要作用是引用配置文件,以数据源来举例。

    新建mybatis-confing.properties配置文件

    mybatis-confing.properties

    driver=com.mysql.cj.jdbc.Driver
    url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useSSL=false
    username=root
    password=Yuhao@520

    在MyBatis配置文件mybatis-confing.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>
        <!-- 引用mybatis-confing.properties配置文件 -->
        <properties resource="mybatis-confing.properties" />
        
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC" />
                <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>
        <!-- 将我们写好的sql映射文件(PolicyMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 -->
        <mappers>
            <mapper resource="PolicyMapper.xml" />
        </mappers>
    </configuration>

    二、setting

    settings是MyBatis中最复杂的配置,它能影响MyBatis底层的运行,大部分情况下使用默认值,如果需要改动只需要改动需要用到的部分即可。

    三、typeAliases

    类型别名是为 Java 类型设置一个短的名字。 它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。

    MyBatis全局配置文件

    <typeAliases>
            <typeAlias alias="Music" type="com.mybatis.bean.music" />
    </typeAliases>

    在需要使用全量的地方可使用别名,如:

    SQL的resultType上可以直接使用Policy不需要再写全量类名

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.mybatis.dao.selectall">
        
        <select id="selectmusicall" resultType="Music">
            select id,name,music,musicurl from test where name = #{name};
        </select>
        
    </mapper>

    注解的方式起别名,在包com.mybatis.bean下的类中使用@Alias注解的类,可以直接使用注解属性,实现与typeAlias给定别名一样的效果。

    Music类

    @Alias("Music")
    public class Music{
        ...
    }

    MyBatis全局配置文件

    <typeAliases>
        <package name="com.mybatis.bean" />
    </typeAliases>

    四、environments

     环境配置可以通过default来选择连接到那个数据源,可以用来做不同环境的切换。

        <environments default="dev_sit">
            <!-- 使用environment标签,可以根据环境的不同进行连接库的切换 -->
            <environment id="dev_sit">
                <transactionManager type="JDBC" />
                <dataSource type="POOLED">
                    <!-- 可以通过${}标签结合外部配置文件的属性名称进行配置引用 -->
                    <property name="driver" value="${sit_driver}" />
                    <property name="url" value="${sit_url}" />
                    <property name="username" value="${sit_username}" />
                    <property name="password" value="${sit_password}" />
                </dataSource>
            </environment>
            
            <environment id="dev_uat">
                <transactionManager type="JDBC" />
                <dataSource type="POOLED">
                    <!-- 可以通过${}标签结合外部配置文件的属性名称进行配置引用 -->
                    <property name="driver" value="${uat_driver}" />
                    <property name="url" value="${uat_url}" />
                    <property name="username" value="${uat_username}" />
                    <property name="password" value="${uat_password}" />
                </dataSource>
            </environment>
        </environments>

    五、mappers

     SQL映射有四种实现方式

    使用相对于类路径的资源引用

    <mappers>
      <mapper resource="MyBatisMapper/MusicMapper.xml"/>
    </mappers>

    使用完全限定资源定位符(URL) 

    <mappers>
      <mapper url="file:///var/mappers/AuthorMapper.xml"/>
      <mapper url="file:///var/mappers/BlogMapper.xml"/>
      <mapper url="file:///var/mappers/PostMapper.xml"/>
    </mappers>

    使用映射器接口实现类的完全限定类名

    <mappers>
      <mapper class="org.mybatis.builder.AuthorMapper"/>
      <mapper class="org.mybatis.builder.BlogMapper"/>
      <mapper class="org.mybatis.builder.PostMapper"/>
    </mappers>

    将包内的映射器接口实现全部注册为映射器

    <mappers>
      <package name="org.mybatis.builder"/>
    </mappers>
  • 相关阅读:
    笔记||Python3之字典
    笔记||Python3之算法
    笔记||Python3之文件的读写
    笔记||Python3之循环
    笔记||Python3之字符串格式化输出
    笔记||Python3之对象的方法
    笔记||Python3之函数
    笔记||Python3之布尔表达式+条件判断
    《1024伐木累》-程序员相亲都做了什么?
    《1024伐木累》-宝贝儿,可不可以
  • 原文地址:https://www.cnblogs.com/yogouo/p/12010418.html
Copyright © 2011-2022 走看看