mybatis-config.xml相关配置

本文详细解析了MyBatis配置文件的结构与各元素的作用,包括properties、settings、typeAliases、typeHandlers、objectFactory、environments、transactionManager、dataSource、mapper等关键配置项,以及如何通过配置实现数据库连接、类型映射和映射文件定位。

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

文档结构(文档的声明)

<?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">

文档的主要元素

输入图片说明

properties:在配置文件中使用别的properties文件的配置,实现文件的分离

****1.加入配置****
 <properties resource="db.properties"></properties>
****2.创建db.properties****
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/mybatisdemo
db.username=root
db.password=xbx
**3.使用db.properties中的内容**
           <!--数据源配置-->
            <dataSource type="POOLED">
                <property name="driver" value="${db.driver}"></property>
                <property name="url" value="${db.url}"></property>
                <property name="username" value="${db.username}"></property>
                <property name="password" value="${db.password}"></property>
            </dataSource>

settings:改变mybatis运行时的行为

输入图片说明输入图片说明输入图片说明

typeAliases:设置别名

  • 在使用全名的时候可以使用别名,见少代码量(主要在实体映射文件中使用)
<!--配置别名-->
    <typeAliases>
        <!--在使用domain.User的地方可直接使用user-->
        <typeAlias type="domain.User" alias="user"></typeAlias>
        <!--自动映射别名 别名为类名的首字母小写-->
        <package name="domain"></package>
    </typeAliases>
  • 默认的别名

输入图片说明输入图片说明

typeHandlers:进行类型转换

  • 将java中的类型与数据库中的数据类型进行映射 如:string->varchar
  • 默认的类型处理器

输入图片说明输入图片说明

objectFactory:当MyBatis创建对象时候调用的方法

  • 感觉没啥用 用到时候补充吧

environments:配置环境

  • 示例配置
<!--配置连接的数据库-->
    <environments default="mysql">
        <environment id="mysql">
            <!--制定事务类型 -->
            <transactionManager type="JDBC"></transactionManager>
            <!--数据源配置-->
            <dataSource type="UNPOOLED">
                <property name="driver" value="${db.driver}"></property>
                <property name="url" value="${db.url}"></property>
                <property name="username" value="${db.username}"></property>
                <property name="password" value="${db.password}"></property>
            </dataSource>
        </environment>
    </environments>
  • <environments default="mysql">的default属性应该为 <environment id="mysql">的id属性之一
    
  • 一个MyBatis可以配置多个环境,也就是多个数据源,但是每个SqlSessionFactory只可以对应于一个环境。
  • <transactionManager type=""/>可选type属性为JDBC和MANAGED,但是当使用spring时就就会使用spring的事务管理覆盖MyBatis的事务管理

输入图片说明

  • <dataSource type="">,指定数据源,type可选配置:UNPOOLED和POOLED还有JNDI

UNPOOLED:不使用连接池

输入图片说明

POOLED:使用连接池(除了上述配置还有以下配置)

输入图片说明

mapper:配置映射文件的位置

  • 可以为单独的文件也可以为包
 <mappers>
        <!--<mapper resource="mapper/userMapper.xml"></mapper>-->
        <package name="domain"></package>
    </mappers>

转载于:https://my.oschina.net/helloXia/blog/1820733

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值