MyBatis基础配置

一、M y B a t i s 配 置 文 件

MyBatis配置文件的功能:构建SqlSessionFactory的依据

MyBatis配置文件的意义:MyBatis最为核心的内容,对MyBatis的使用影响很大。

MyBatis配置文件注意事项:配置文件的层次顺序不能颠倒,一旦颠倒会出现异常。

1.什么是MyBatis配置文件
2.配置文件的层级结构

二、 < c o n f i g u r a t i o n > 元素

功能:

标识配置文件的起始,所有配置信息都存放在这里。

三、< e n v i r o m e n t s > 元 素

功能

配置数据库环境信息,注册数据源, 配置数据库事务。

四、 <environments>元素的结构

1.default属性:默认使用的数据库环境

2. <environment> 单个数据库环境信息的标识

2.1 <transactionManager> 配置数据库事务

**<transactionManager>**数据库事务(的type属性)

|---------|------------------------------------------------------------------------------------|
| JDBC | 使用 JDBC 的事务管理机制,就 是利用 java.sql.Connection 对 象完成对事务的提交; |
| MANAGED | 使用 MANAGED 的事务管理机 制,这种机制 MyBatis 自身不 会去实现事务管理,而是让程序 的容器(JBOSS,WebLogic)来 实现对事务的管理; |
| 自定义 | 由使用者自定义数据库事务的管 理方式,适用于特殊应用。 |

3.<dataSource> 配置环境信息中数据源连接的信息。

**<dataSource>**数据源(的type属性)

|----------|----------|
| UNPOOLED | 非连接池的数据源 |
| POOLED | 连接池的数据源 |
| JNDI | JNDI的数据源 |
| 自定义数据源 | 其他类型数据源 |

4.<property> 配置环境信息的属性

五、< p r o p e r t i e s > 元 素

1. <properties>元素的功能

配置属性的元素,可以在配置文件的上下文中使用 该属性。

2. <properties>元素的结构
2.1properties 配置文件
复制代码
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/schoolp?serverTimezone=GMT
jdbc.username=root
jdbc.password=123456
2.2程序参数传递
复制代码
properties.setProperty("driver",decode( properties.get( " driver")));
properties.setProperty("url", decode(properties.get("ur1")));
properties.setProperty( " username",decode( properties.get( "username" )));
properties.setProperty(" password", decode(properties.get(" password")));
2.3 property 子元素
复制代码
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
3. <properties>元素外部文件配置
4.使用建议
  • 不要使用混合方式,以避免管理混乱
  • 首选的方式是 Properties 文件方式
  • 如存在加密或者安全访问的问题,使用第二种方式,为日后统一管理提供方便

六、< t y p e A l i a s e s > 元 素

1.< typeAliases > 元素的功能

Mybatis内部支持的别名:

2.< typeAliases > 元素的功能

我们使用Mybatis 需要将查询的虚拟表映射为java中的实体类的对象,就需 要让Mybatis知道这些我们自定义的"类型"。

3.< typeAliases > 元素的功能

在主配置文件中进行配置

在sqlMapper.xml 中可以使用类名

七、< m a p p e r s > 元素

<mappers>元素的功能:用来在MyBatis初始化的时候引入映射器。

**<mappers>**层次结构:

相对路径引入映射器:

用文件定位符引入映射器:

注册指定包下的所有mapper接口:

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同 一个目录中。

总结:

• MyBatis 配置文件的功能

• 构建 SqlSessionFactory 的依据,对整个MyBatis体系影响深远;

• <properties>元素的功能

• 配置属性的元素,可以在配置文件的上下文中使用该属性;

•<enviroments> 元素的功能

• 配置环境信息,注册数据源,配置数据库事务;

• <mappers>元素的功能

• 用来在MyBatis初始化的时候引入映射器。

相关推荐
冻柠檬飞冰走茶34 分钟前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
文丑颜不良啊44 分钟前
LeetCode2161~2180题目解析
java·leetcode
FRing031 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
雪落漂泊1 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
波力海苔夹心脆6752 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
不会算法的笨小孩2 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
文丑颜不良啊3 小时前
LeetCode2141~2160题目解析
java·leetcode
LabVIEW开发3 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
天天被压力3 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力3 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python