文章内容输出:拉勾教育java高薪训练营
Mybatis简介
在开始剖析Mybatis核心配置文件前,大家需要对Mybatis有一定的理解,并且知道Mybatis究竟是干什么的?我们学习任何一款框架都是要解决实际的问题,所以大家在学习框架之前首先都要明确几点:
1、为什么要学习Mybatis框架?
2、Mybatis框架的作用?
3、不用Mybatis框架可以解决现在的问题吗?
Mybaits是一款优秀的基于ORM的半自动轻量级持久层框架,它支持定制sql、存储过程以及高级映射。Mybatis几乎避免了所有JDBC代码和手动设置参数以及获取封装结果集。Mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和JAVA的POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。
Mybatis核心配置文件
对于什么是Mybatis的核心配置文件如果有同学还不知道可以去参考Mybatis之环境搭建这篇文章。对于有过Mybatis使用经验的同学们都知道Mybatis的核心配置文件就是:sqlMapConfig.xml,下面我们将要介绍一下究竟什么是sqlMapConfig.xml
Mybatis之sqlMapConfig.xml
从名称上看我们就知道Mybatis的核心配置文件是一个XML类型的文件。那么既然是XML的文件,必然就存在XML标签。下面我们就从核心配置文件的标签入手,剖析一下Mybatis的核心配置文件。
<?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">
<configuration>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"/>
<!-- 配置数据源信息 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/lgTest"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 引入mapper映射文件 -->
<!-- 这个地方存在不同的引用方式 -->
<mappers>
<!-- 采用mapper标签进行引入 里面包含resource class url等不同的引入方式 -->
<!-- <mapper resource="com.lagou.mapper/UserMapper.xml" />-->
<!-- 采用扫描包的形式来进行引入 通常采用这种方法进行配置 -->
<package name="com.lagou.mapper"></package>
</mappers>
</configuration>
一般标签
sqlMapConfig.xml配置文件中我们首先关注标签:
// 这里需要注意的是,<environments>标签中的default指定的名称必须在当前环境中存在,否则执行报错
(1)<environments>标签:从英文单词上说他就代表你的一个环境,并且可以通过default属性来指定默认的环境名称。
(2) <environment> 标签:是指定当前环境的名称,并且可以通过ID来指定你的环境名称
(3)<transactionManager>标签:指定事务管理类型,例如:JDBC,MANAGED
a、JDBC: 这个配置就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。
b、MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器管理事务的整个生命周期(比如JEE应用服务器上下文)。默认情况下他会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false来阻止默认关闭的行为
(4)<dataSource>标签:指定当前数据源类型,例如:POOLED,UNPOOLED,JNDI
a、POOLED:这种数据源的实现利用池的概念将JDBC连接对象组织起来
b、UNPOOLED:这个数据源的实现只是每次请求时打开和关闭连接
c、JNDI:这个数据源的实现是为了能在如EJB或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后当值一个JNDI上下文的引用。
(5)<mapper>标签:该标签的作用是加载映射的,加载的方式有以下几种:
a、使用相对路径加载资源的引用
b、使用完全限定资源定位符(URL)
c、使用映射器接口实现类的完全限定类名
d、将包内的映射器接口实现全部注册为映射器
Properties标签
我们平常开发中习惯将数据源的信息单独抽取成一个properties文件,该标签可以加载额外的properties配置文件。
<properties resource="jdbc.properties"></properties>
typeAliases标签
该标签可以配置java的别名,当配置了这个别名时,在mapper映射文件中方法的返回值使用别名即可。
<!-- 配置别名 -->
<typeAliases>
<typeAlias type="com.lagou.pojo.User" alias="user"/>
</typeAliases>
mybatis为我们提供的别名列表,如下:
别名 | 数据类型 |
---|---|
string | String |
long | Long |
int | Integer |
double | Double |
boolean | Boolean |
... ... | ... ... |
总结
Mybatis框架目前是主流框架,针对Mybatis的研究远远还没有结束,我们不仅要学会使用这款框架更要学习框架设计的思想。好了,看完本篇文章相信大家对Mybatis核心配置文件中的标签有了一定的了解。想要获取更多关于框架原理,设计模式等相关知识,请持续关注我哦!!!!
网友评论