前言:
Mybatis由ibatis框架演变而来——2010 年,iBATIS 框架正式更名为 MyBatis,并捐赠给 Apache 软件基金会,开启了开源社区驱动的发展之路。
Mybatis处于MVC三层架构的Model层,是一款优秀的半自动orm框架,相较于Hibernate的全映射orming,mybatis有其独特的动态SQL引擎、映射器接口、缓存机制等。常应用于电商平台订单系统、社交平台关系链、金融与银行核心交易、风控系统。ERP、政务系统等。
随着云原生、Serverless 架构的普及,MyBatis 正在向以下方向探索:
- 与云数据库集成:针对 AWS RDS、阿里云 POLARDB 等云数据库,优化连接池管理与自动扩缩容场景下的 SQL 执行策略。
- 智能化 SQL 生成:结合 AI 技术分析业务场景,自动生成优化的 SQL 语句(如基于查询频率推荐索引),减少开发者手动优化成本。
- 多模态数据支持:从传统关系型数据库扩展到 MongoDB、Elasticsearch 等非结构化存储,通过 MyBatis 接口统一数据访问层。
Mybatis的核心配置文件默认名称叫Mybatis-config.xml(后续可以自由更改)
- 首先导入Mybatis的核心包
<!-- Mybatis核心 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<environments default="development">
<!--
environment:配置某个具体的环境
属性:
id:表示连接数据库的环境的唯一标识,不能重复
-->
<environment id="development">
<!--
transactionManager:设置事务管理方式
属性:
type="JDBC|MANAGED"
JDBC:表示当前环境中,执行SQL时,使用的是JDBC中原生的事务管理方式,事
务的提交或回滚需要手动处理
MANAGED:被管理,例如Spring
-->
<transactionManager type="JDBC"/>
<!--
dataSource:配置数据源
属性:
type:设置数据源的类型
type="POOLED|UNPOOLED|JNDI"
POOLED:表示使用数据库连接池缓存数据库连接
UNPOOLED:表示不使用数据库连接池
JNDI:表示使用上下文中的数据源
-->
<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>
<environment id="test">
<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>
- 以上是Mybatis中对于Jdbc数据库的最基本配置
- 设置别名
-
<!--设置类型别名--> <typeAliases> <!-- typeAlias:设置某个类型的别名 属性: type:设置需要设置别名的类型 alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名 且不区分大小写 --> <!--<typeAlias type="com.atguigu.mybatis.pojo.User"></typeAlias>--> <!--以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写--> <package name="com.atguigu.mybatis.pojo"/> </typeAliases>
-
未完待续。。。