小言_互联网的博客

MyBatis配置文件中的属性标签

385人阅读  评论(0)

MyBatis配置文件中的属性标签

(1)使用properties配置数据库连接信息

可以在标签内部配置数据库连接信息,也可以通过外部文件来配置数据库连接信息。

第一种url属性(不常用)

URL属性:
  URL:Uniform Resource Locator 统一资源定位符 可以唯一标志一个资源的位置
  写法必须是
    http://localhost:8080/mybatisserver/demo1Servlet
    协议  主机  端口 URI
  URI:Uniform Resource Identifier 统一资源标识符 是在应用中可以可以唯一标志一个资源的位置
  URL>URI(精准性)

<properties url="file:///C:/Users/zoick/OneDrive/Tomorrow/%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0/MyBatis/day02/day02_eesy_02mybatisCRUD/src/main/resources/jdbcConfig.properties">

</properties>

第二种resource属性(常用)
用于指定配置文件的位置,是按照类路径来写的,必须存在于类路径下

<properties resource="jdbcConfig.properties">

</properties>

使用 resources 属性引入外部配置文件
编写配置文件 jdbcConfig.properties。配置文件名没有限制,但是配置文件一定要放在类路径resource下

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>

(2)使用typeAliases配置别名

之前在编写映射文件的时候, resultType 这个属性可以写 int、INT 等,就是因为 Mybatis 给这些类型起了别名。Mybatis 内置的别名如表格所示:如果我们也想给某个实体类指定别名的时候,就可以采用 typeAliases 标签。用法如下:

<!--使用typeAliases配置别名,他只能配置domain中类的别名-->
    <typeAliases>
        <!--typeAlias用于配置别名,type属性指定的是实体类中的全限定类名。alias属性指定别名,当指定了别名后不在区分大小写-->
        <typeAlias type="top.zoick.domain.User" alias="user"></typeAlias>
    </typeAliases>

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

(3)使用package配置别名

  • 当我们有多个实体类需要起别名的时候,那么我们就可以使用 package 标签。
 <typeAliases>
        <!--用于指定要配置别名的包,当指定后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写-->
        <package name="top.zoick.domain"/>
    </typeAliases>

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

其中,配置映射文件位置的中也有package这个标签

   <mappers>
<!--        <mapper resource="top/zoick/dao/IUserDao.xml"/>-->
        <!--package标签是用于指定dao接口所在的包,当指定了之后就不需要再写mapepr以及resource或者class了-->
        <package name="top.zoick.dao"/>
    </mappers>

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

添加完属性标签后的配置文件:

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">
<!-- mybatis主配置文件-->
<configuration>
    <!--配置properties
        可以在标签内部配置数据库连接信息 也可以通过外部文件来配置数据库连接信息
        resource 属性:(常用)
                用于指定配置文件的位置,是按照类路径来写的,必须存在于类路径下
        URL属性:
            URL:Uniform Resource Locator    统一资源定位符 可以唯一标志一个资源的位置
            写法必须是
                http://localhost:8080/mybatisserver/demo1Servlet
                协议      主机    端口     URI
            URI:Uniform Resource Identifier 统一资源标识符 是在应用中可以可以唯一标志一个资源的位置
            URL>URI(精准性)
    -->
    <properties url="file:///C:/Users/zoick/OneDrive/Tomorrow/%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0/MyBatis/day02/day02_eesy_02mybatisCRUD/src/main/resources/jdbcConfig.properties">
<!--        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>-->
<!--        <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>-->
<!--        <property name="username" value="root"/>-->
<!--        <property name="password" value="root"/>-->
    </properties>
    
    <!--使用typeAliases配置别名,他只能配置domain中类的别名-->
    <typeAliases>
        <!--typeAlias用于配置别名,type属性指定的是实体类中的全限定类名。alias属性指定别名,当指定了别名后不在区分大小写-->
<!--    <typeAlias type="top.zoick.domain.User" alias="user"></typeAlias>-->

        <!--用于指定要配置别名的包,当指定后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写-->
        <package name="top.zoick.domain"/>
    </typeAliases>
    
    

    <!-- 配置环境-->
    <environments default="mysql">
        <!-- 配置mysql的环境-->
        <environment id="mysql">
            <!-- 配置事务的类型-->
            <transactionManager type="jdbc"></transactionManager>
            <!-- 配置数据源(连接池)-->
            <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>

    <!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
    <mappers>
<!--        <mapper resource="top/zoick/dao/IUserDao.xml"/>-->
        <!--package标签是用于指定dao接口所在的包,当指定了之后就不需要再写mapepr以及resource或者class了-->
        <package name="top.zoick.dao"/>
    </mappers>


</configuration>

转载:https://blog.csdn.net/reallllbj/article/details/105905683
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场