【Mybatis】核心配置文件解析

<configuration>
    <!--设置连接数据库的环境-->
    <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/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!--引入映射文件-->
    <mappers>
        <mapper resource="mappers/userMapper.xml"/>
    </mappers>
</configuration>

1.environments

配置多个连接数据库的环境,default="development"指定默认环境
image

1.1 environment 配置某个具体环境

(1)<transactionManager type="JDBC"/>事务管理器设置事务提交方式

  • type="JDBC":执行SQL时,使用JDBC中原生的事务管理方式(事务的提交或回滚需要手动处理)
  • type="MANAGED":被管理,例如Spring

(2)DataSource 配置数据源

  • type:数据源类型

    • type="POOLED":使用数据库连接池缓存数据库连接
    • type="UNPOOLED":不使用数据库连接池
    • type="JNDI":使用上下文中的数据源
  • 数据库连接的驱动、连接地址、用户名和密码

2.使用配置文件的方式配置数据源

(1)jdbc.porperties,加上前缀jdbc可用来区分多套环境,放在src/main/resources路径下

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456

(2)核心配置文件中引入该配置文件


<configuration>

    <!--引入配置文件-->
    <properties resource="jdbc.properties"/>

    <!--设置连接数据库的环境-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url"
                          value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

3.类型别名typeAliases

(1)映射文件中的全类名太长
image

(2)在mybatis全局配置文件中使用typeAliases标签,标签遵守以下顺序
image

(3)设置别名
User不区分大小写,如果不写alias="User",则默认为User也不区分大小写

    <typeAliases>
        <typeAlias type="com.pxk.pojo.User" alias="User"></typeAlias>
    </typeAliases>

(4)映射文件中使用该别名

    <select id="getAllUser" resultType="User">
        select * from user;
    </select>

(5)以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写

    <typeAliases>
        <package name="com.pxk.pojo"/>
    </typeAliases>

4.以包的方式导入映射文件

(1)要求

  • ① mapper接口所在的包要和映射文件所在的包一致
  • ② mapper接口要和映射文件的名字一致

image

    <mappers>
        <package name="com.pxk.mapper"/>
    </mappers>

在resources目录下创建时要使用斜线,这样才能表示多层目录
image

image

posted @ 2023-04-12 19:57  植树chen  阅读(32)  评论(0编辑  收藏  举报