MyBatis(二) 主配置文件mybatis-config.xml怎么配置、其中标签的使用

八、MyBatis主配置文件

mybatis-config.xml 是MyBatis框架的主配置文件,主要用于配置MyBatis数据源及属性信息

8.1 properties标签

用于设置键值对,或者加载属性文件

1.可以定义键值对

我在这个标签里定义键值对,在下面其他标签中可以直接${ }调用过来。

如:

    <properties>
        <property name="mysql_url" value="jdbc:mysql://localhost:3306/testmybatis?characterEncoding=utf-8"/>
    </properties>
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="${mysql_url}"/>	//看这里
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

但是一般不这样用,没什么意义,仍然还是在同一个配置文件里面。

2.可以引用属性文件

  • 在resources目录下创建jdbc.properties文件,配置键值对如下:
mysql_driver=com.mysql.cj.jdbc.Driver
mysql_url=jdbc:mysql://localhost:3306/testmybatis?characterEncoding=utf-8
mysql_username=root
mysql_password=root
  • 在mybatis-config.xml中通过properties标签引用jdbc.properties文件;引入之后,在配置environment时,可以直接使用jdbc.properties的key获取对应的value
    <properties resource="jdbc.properties"></properties>
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${mysql_driver}"/>
                <property name="url" value="${mysql_url}"/>
                <property name="username" value="${mysql_username}"/>
                <property name="password" value="${mysql_password}"/>
            </dataSource>
        </environment>
    </environments>

一般这种方法,用的比较多。这样一来,我的项目不用改代码,只需要修改jdbc.properties里面的配置项,便于进行数据源的动态修改。

8.2 settings标签

    <!--  设置mybatis的属性  -->
    <settings>
        <!-- 启动二级缓存 -->
        <setting name="cacheEnabled" value="true"/>
        <!-- 启动延迟加载 -->
        <setting name="lazyLoadingEnabled" value="true"/>
    </settings>

一般用不到,用到的时候知道就行。

注意,settings标签必须写在properties标签的后面。

8.3 typeAliases标签

用于给实体类取别名,在映射文件中可以直接使用别名来替代实体类的全限定名

  • 我们在配置映射文件mapper.xml的时候,
    <resultMap id="studentMap" type="com.wyl.pojo.Student">	//全名
        <id column="sid" property="stuId"/>
        <result column="stu_num" property="stuNum"/>
        <result column="stu_name" property="stuName"/>
        <result column="stu_gender" property="stuGender"/>
        <result column="stu_age" property="stuAge"/>
    </resultMap>

​ 定义类型的时候总是要写全路径com.wyl.pojo.Student

  • mybatis-config.xml中,通过定义这个标签,相当于起了个别名
    <typeAliases>
        <typeAlias type="com.wyl.pojo.Student" alias="Student"></typeAlias>
    </typeAliases>

​ 在mapper文件中就可以直接在type里面写这个别名了:

<resultMap id="studentMap" type="Student">	//alias定义的别名
    <id column="sid" property="stuId"/>
    <result column="stu_num" property="stuNum"/>
    <result column="stu_name" property="stuName"/>
    <result column="stu_gender" property="stuGender"/>
    <result column="stu_age" property="stuAge"/>
</resultMap>

​ 当然这个别名你叫什么都行,但是为了可读性,一般这个别名与类名保持一致。

8.4 plugins标签

    <!--  用于配置mybatis插件(例如分页插件)  -->
    <plugins>
        <plugin interceptor=""></plugin>
    </plugins>

8.5 environments标签

    <!--在environments配置数据库连接信息-->
    <!--在environments标签中可以定义多个environment标签,每个environment标签可以定义一套数据库连接配置-->
    <!--default属性,用来指定使用哪个-->
    <environments default="mysql">
        <environment id="mysql">
            <!--transactionManager标签用于配置数据库管理方式
				type="JDBC"  可以进行事务的提交和回滚操作
				type="MANAGED"  依赖容器完成事务管理,本身不进行事务的提交和回滚操作-->
            <transactionManager type="JDBC"></transactionManager>
            <!--dataSource标签用来配置数据库连接信息  POOLED|UNPOOLED-->
            <dataSource type="POOLED">
                <property name="driver" value="${mysql_driver}"/>
                <property name="url" value="${mysql_url}"/>
                <property name="username" value="${mysql_username}"/>
                <property name="password" value="${mysql_password}"/>
            </dataSource>
        </environment>
    </environments>

8.6 mappers标签

加载映射配置(映射文件、DAO注解)

  • mappers标签用于载入映射文件。你项目中有多少映射文件,这里就应该有多少个mapper标签。
    <mappers>
        <mapper resource="mappers/StudentMapper.xml"></mapper>
    </mappers>

​ 也就是但凡你写的映射文件,都必须载入到主配置文件中。

  • 加载DAO注解,很好用,也很简单,后面再讲。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋秋秋叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值