八十五、MyBatis 配置文件

简介: 八十五、MyBatis 配置文件

主配置文件


之前项目中使用的 mybatis.xml 是主配置文件。


主配置文件特点:


1、xml 文件,需要在头部使用约束文件


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

2、根元素,<configuration>


3、主要内容包括:


定义别名

数据源

mapper文件


dataSource标签


Mybatis 中访问数据库,可以连接池技术,但它采用的是自己的连接池技术。 在 Mybatis 的 mybatis.xml 配置文件中,通过<dataSource type="pooled">来实现 Mybatis 中连接池的配置。


dataSource类型


29.png


上图看出 Mybatis 将数据源分为三类:


1.UNPOOLED 不使用连接池的数据源

2.POOLED 使用连接池的数据源

3.JNDI 使用 JNDI 实现的数据源


其中 UNPOOLED ,POOLED 数据源实现了 javax.sq.DataSource 接口, JNDI 和前面两个实现方式不同,了解即可。


30.png


dataSource配置


在 MyBatis.xml 主配置文件,配置 dataSource:


<dataSource type="POOLED">
 <!--连接数据库的四个要素--> 
 <property name="driver" value="com.mysql.jdbc.Driver"/>
 <property name="url" 
value="jdbc:mysql://localhost:3306/ssm?charset=utf-8"/>
 <property name="username" value="root"/>
 <property name="password" value="123456"/>
</dataSource>

MyBatis 在初始化时,根据的 type 属性来创建相应类型的的 数据源 DataSource,即:


type=”POOLED”:MyBatis 会创建 PooledDataSource 实例

type=”UNPOOLED” : MyBatis 会创建 UnpooledDataSource 实例

type=”JNDI”:MyBatis 会从 JNDI 服务上查找 DataSource 实例,然后返回使用


事务


(1) 默认需要手动提交事务


Mybatis 框架是对 JDBC 的封装,所以 Mybatis 框架的事务控制方式,本 身也是用 JDBC 的 Connection 对象的 commit(), rollback() .


Connection 对象的 setAutoCommit()方法来设置事务提交方式的。自动提交和手工提交、


<transactionManager type="JDBC"/>

该标签用于指定 MyBatis 所使用的事务管理器。MyBatis 支持两种事务管 理器类型:JDBC 与 MANAGED。


JDBC:使用 JDBC 的事务管理机制。即,通过 Connection 的 commit() 方法提交,通过 rollback()方法回滚。但默认情况下,MyBatis 将自动提 交功能关闭了,改为了手动提交。即程序中需要显式的对事务进行提交或回滚。从日志的输出信息中可以看到。


31.png


MANAGED:由容器来管理事务的整个生命周期(如 Spring 容器)。


(2) 自动提交事务


设置自动提交的方式,factory 的 openSession() 分为有参数和无参数的。


32.png


有参数为 true,使用自动提交,可以修改 MyBatisUtil 的 getSqlSession()方法。


session = factory.openSession(true);
再执行 insert 操作,无需执行 session.commit(),事务是自动提交的

使用数据库属性配置文件


为了方便对数据库连接的管理,DB 连接四要素数据一般都是存放在一个专门 的属性文件中的。MyBatis 主配置文件需要从这个属性文件中读取这些数据。 步骤:


(1) 在 classpath 路径下,创建 properties 文件


在 resources 目录创建 jdbc.properties 文件,文件名称自定义:


33.png


(2) 使用 properties 标签


修改主配置文件,文件开始位置加入:


34.png


(3) 使用 key 指定值


<dataSource type="POOLED">
 <!--使用 properties 文件: 语法 ${key}--> 
 <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>

typeAliases(类型别名)


Mybatis 支持默认别名,我们也可以采用自定义别名方式来开发,主要使用在<select  resultType="别名">


mybatis.xml 主配置文件定义别名:


<typeAliases>
 <!-- 
 定义单个类型的别名 
 type:类型的全限定名称 
 alias:自定义别名 
 --> 
 <typeAlias type="com.bjpowernode.domain.Student" alias="mystudent"/>
 <!-- 
 批量定义别名,扫描整个包下的类,别名为类名(首字母大写或小写都
可以) 
 name:包名 
 --> 
 <package name="com.bjpowernode.domain"/>
 <package name="...其他包"/>
</typeAliases>

mapper.xml 文件,使用别名表示类型:


<select id="selectStudents" resultType="mystudent"> 
 select id,name,email,age from student
</select>

mappers(映射器)


(1)<mapper resource=" " />


使用相对于类路径的资源,从 classpath 路径查找文件


例如:


<mapper resource="com/bjpowernode/dao/StudentDao.xml" />

(2)<package name=""/>


指定包下的所有 Dao 接口


例如:


<package name="com.bjpowernode.dao"/>

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


相关文章
|
6月前
|
XML Java 数据库连接
mybatis环境搭建步骤(含配置文件代码)
mybatis环境搭建步骤(含配置文件代码)
|
6月前
|
SQL Java 数据库连接
初识MyBatis(搭建MyBatis、简单增删改查、核心配置文件讲解及获取参数值)
初识MyBatis(搭建MyBatis、简单增删改查、核心配置文件讲解及获取参数值)
115 0
|
6月前
|
SQL Java 数据库连接
Mybatis之核心配置文件详解、默认类型别名、Mybatis获取参数值的两种方式
【1月更文挑战第3天】 一、核心配置文件详解 二、默认的类型别名 三、MyBatis的增删改查 四、MyBatis获取参数值的两种方式 1、单个字面量类型的参数 2、多个字面量类型的参数 3、map集合类型的参数 4、实体类类型的参数 5、使用@Param标识参数
105 2
Mybatis之核心配置文件详解、默认类型别名、Mybatis获取参数值的两种方式
|
XML Java 数据库连接
(精)SSM框架整合的配置文件(spring+spring MVC+mybatis)
(精)SSM框架整合的配置文件(spring+spring MVC+mybatis)
94 0
|
5月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
71 6
|
6月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
296 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
6月前
|
缓存 Java 数据库连接
【MyBatis】主配置文件
【MyBatis】主配置文件
67 0
|
6月前
|
XML Java 数据库连接
【MyBatis】1、MyBatis 核心配置文件、多表查询、实体映射文件 ......
【MyBatis】1、MyBatis 核心配置文件、多表查询、实体映射文件 ......
137 0
|
6月前
|
SQL Java 数据库连接
Mybatis快速入门,Mybatis的核心配置文件
Mybatis快速入门,Mybatis的核心配置文件
45 1
|
6月前
|
Java 数据库连接 mybatis
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)