mybaties的核心配置文件

本文介绍了MyBatis核心配置文件中的关键元素,包括environments数据源环境配置、mappers映射器加载、properties属性加载外部文件、typeAliases类型别名设置。详细讲解了映射器的资源配置方式以及类型别名在简化数据类型书写中的作用。同时,通过实例演示了如何为自定义类设置类型别名,强调了配置顺序的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在mybaties的核心配置文件中,我们可以在根标签configruation里面配置的标签有:

properties 属性:该标签可以加载外部的properties文件

settings设置

typeAliases类型别名:设置类型别名

typeHandlers类型处理器

objectFactory对象工厂

plugins插件

environnents环境:数据源环境配置标签。它内部还有其他的子标签:

environment:环境变量的配置。

transactionManager:配置事物管理器

datasource:配置数据源

databaseldProvider数据车厂商标识

mappers映射器:加载映射文件配置

下面对一些常用的配置进行讲解:

environnents环境:数据源环境配置标签:

<!--    数据源的环境-->
    <environments default="developement">
        <environment id="developement">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test01"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
<transactionManager type="JDBC"></transactionManager>它的属性type:表示的事物管理器的类型。它的type虽然还有其他的,但是不常用,这里就不讲解了。

<dataSource type="POOLED">:这个标签是用来配置数据源信息的。然后type类型表示的是指定当前的数据类型是连接池。它的type虽然还有其他的,但是不常用,这里就不讲解了。
在开发中这部分代码基本上都是复制粘贴,需要修改的也就下面数据源的信息。

mappers映射器:加载映射文件配置:

<!--    加载映射文件-->
    <mappers>
        <mapper resource="com/outlier/mapper/UserMapper.xml"></mapper>
    </mappers>

因为我们使用的sql语句我们自己都写在里面,我们在编写逻辑代码的时候,都是通过调用里面的sql语句。

然后它的路径加载的方式:

使用相对于类路径的资源引用,例如<mapperresource="org/mybatis/builder/AuthorMapper.xml"/>

使用完全限定资源定位符(URL),例如: <mapper url="file://var/mappers/AuthorMapper.xml"/>·

使用映射器接口笑现类的完全限定类名,<mapper  class="org.mybatis.builder.AuthorMapper"/>·

将包内的映射器接口实现全部主册为映射器,例如: <package name="org.mybatis.builder" />

我们常用的就是第一个。

properties 属性:该标签可以加载外部的properties文件

这个就像我们以前把数据源信息和配置文件进行解耦。

<!--    加载外部的properties-->
    <properties resource="jdbc.properties"/>

<!--    数据源的环境-->
    <environments default="developement">
        <environment id="developement">
            <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>

测试效果:

typeAliases类型别名:设置类型别名

我们在mapeer映射文件写数据类型的时候:

刚开始说的要写全限定名,但每次写的话都会写很多代码,这个标签,就是让我们为其设置简单的别名。

举个例子:

刚开始我们写的是int包装类的全限定名,其实JAVA为其设置别名为int,我们测试一下:

我们进行了删除操作:把id为5的删掉了:

java设置的别名:

Integer----------->int

String----------->string

Double----------->double

Long----------->long

Boolean----------->boolean

当我们对自己自定义的类的时候java就没有为我们设置别名了,所以我们需要自己设置:

type属性:里面放的是你需要设置别名的类的权限定名,alias属性为你设置的权限定名。

运行效果:

 这里讲一个知识,如果我们把这个自定义别名没有写在properties后面就会报错:

报错说的是我们要按照这个顺序来写。

 

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值