Mybatis - 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>
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/db_mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
    </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>
    
	<typeAliases>
        <typeAlias type="com.minifull.pojo.User" alias="user"/>
    </typeAliases>

    <!-- 指定映射文件 -->
    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>
</configuration>

1. properties属性

  • 使用 resources 属性引入外部配置文件(常用)
  • 采用全局的内部配置
  • 使用 url 属性引入外部配置文件

使用 resources 属性引入外部配置文件(常用)

jdbcConfig.properties,配置文件名没有限制,但是配置文件一定要放在类路径下

# 键为 jdbc.xxx 可以自行修改
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_mybatis
jdbc.username=root
jdbc.password=123456

修改 Mybatis 配置文件

<!-- 引入外部文件  -->
    <properties resource="jdbcConfig.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>

采用全局的内部配置

<properties>
	<property name="driver" value="com.mysql.jdbc.Driver"/>
	<property name="url" value="jdbc:mysql://localhost:3306/db_mybatis"/>
	<property name="username" value="root"/>
	<property name="password" value="123456"/>
</properties>

使用 url 属性引入外部配置文件

该方法的外部文件可以放在任意位置,但是路径写法必须按照 Url 的方式,这里使用的file协议

<!-- 引入外部文件  -->
<properties url="file:///D:/document/IdeaProjects/java_web_ssm/my_mybatis/src/main/resources/jdbcConfig.properties"/>

  • URL:Uniform Resouce LOcator,即统一资源定位符。它可以唯一标识一个资源的位置,由四部分组成:协议、主机、端口、路径

    • 例如:http://localhost:8080/mybatisserver/demo1,其中 http 为协议, localhost 为主机,8080 为端口号,/mybatisserver/demo1 为uri(路径)
  • URI:Uniform Resource Identifier,即统一资源标识符。它是在应用中可以唯一定位一个资源的

2. typeAliases 标签

给某个实体类指定别名的时候,就可以采用 typeAliases 标签,使用了别名就不区分大小写

<configuration>
    <!--配置别名-->
    <typeAliases>
        <typeAlias type="com.minifull.pojo.User" alias="user"/>
    </typeAliases>
    <!-- 其他配置省略... -->
</configuration>

  • typeAlias 子标签用于配置别名。其中 type 属性用于指定要配置的类的全限定类名(该类只能是某个domain实体类), alias 属性指定别名。一旦指定了别名,那么别名就不再区分大小写
  • 也就是说,此时我们可以在映射文件中这样写 resultType=“user” ,也可以写 resultType=“USER”

3. package

能在两个地方使用
① 当我们有多个实体类需要起别名的时候,那么我们就可以使用 package 标签

package 标签指定要配置别名的包,当指定之后,该包下的所有实体类都会注册别名,并且别名就是类名,不再区分大小写

<typeAliases>
    <!-- 包下所有实体类起别名 -->
    <package name="com.minifull.pojo"/>
</typeAliases>

package 标签还可以将某个包内的映射器接口实现全部注册为映射器

这样配置后,我们就无需一个一个地配置 Mapper 接口了。不过,这种配置方式的前提是映射配置文件位置必须和dao接口的包结构相同

<!-- 指定映射文件 -->
<mappers>
    <package name="com.minifull.mapper"/>
</mappers>
发布了147 篇原创文章 · 获赞 3 · 访问量 4886

猜你喜欢

转载自blog.csdn.net/weixin_43907800/article/details/104876849