Mybatis学习笔记--配置文件常见配置解析

本文详细解读MyBatis的核心配置文件mybatis-config.xml,包括环境配置、属性设置、类型别名、设置项,以及如何使用mappers进行映射器管理。涉及环境版本MySQL 5.7,MyBatis 3.5.x等,适合深入理解MyBatis配置过程。

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

本文章涉及环境版本:

  • mysql 5.7
  • Mybatis 3.5.x
  • Maven 3.6.x
  • JDK 1.8

项目代码仓库:
https://github.com/Gang-bb/Study-Record/tree/main/bzhan-mybatis-study
需要clone整个bzhan-mybatis-study项目
(整体是一个maven多module工程)
该文章对应:《bzhan-mybatis-study02 》module项目

1. 核心配置文件

  • 配置文件官方推荐命名:mybatis-config.xml. 当然也可以自己命名。
  • MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。
configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
  - environment(环境变量)
     - transactionManager(事务管理器) 
     - dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)

2. 环境配置(environments)

MyBatis 可以配置成适应多种环境

不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。

Mybatis默认的事务管理器就是 JDBC , 连接池 : POOLED

image-20210208100450400

3. 属性(properties)

我们可以通过properties属性来实现引用配置文件

这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。【db.properties】

  1. 创建一个db.properties文件

在这里插入图片描述

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis-study?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPubicKeyRetrieval=true
username=root
password=root
  1. mybatis-config.xml中引入db.properties中的属性
  • 全部在db.properties文件中定义属性

在这里插入图片描述

  • 在标签中配置

image-20210208102143496

PS:如果db.properties文件和标签定义了同名属性并且同时 被引用,优先使用db.properties文件中的属性值!

4. 类型别名(typeAliases)

  • 类型别名是为 Java 类型设置一个短的名字。
  • 存在的意义仅在于用来减少类完全限定名的冗余。
  1. mybatis-config.xml中声明类别名
  • 方式一:直接定位到某个类

在这里插入图片描述

使用:

image-20210208104922330

  • 方式二:扫描一整个包

也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,比如:

扫描实体类的包,它的默认别名就为这个类的 类名,首字母小写(大写也行,建议小写)!

image-20210208105206958

使用:

(这里user或User都行)

image-20210208105245956

在实体类比较少的时候,使用第一种方式。

如果实体类十分多,建议使用第二种。

方式一可以DIY别名,方式二则不行,如果非要改,需要在实体上增加注解@Alias

例如:

image-20210208105654873

使用:

image-20210208105729019

5. 设置(settings)

几个重要设置:

image-20210208111602553

image-20210208111454001

image-20210208111507538

6. 其他配置

7. 映射器(mappers)

image-20210208111941180

  1. 不要使用第二个

  2. 如果把mapper的xml文件写在resource目录下,就不能用第三种方式注册

在这里插入图片描述

无法注册!

  1. 如果使用class文件绑定注册
<mappers>
	<mapper class="com.gangbb.model.dao.UserMapper"/>
</mappers>

注意点:

  • 接口和他的Mapper配置文件必须同名!
  • 接口和他的Mapper配置文件必须在同一个包下!
  1. 使用扫描包进行注入绑定
<mappers>
    <package name="com.gangbb.model.dao"/>
</mappers>

注意点:

  • 接口和他的Mapper配置文件必须同名!
  • 接口和他的Mapper配置文件必须在同一个包下!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值