Mybatis 基本流程
1、利用 Resources
工具类加载配置文件,并转换成 输入输出流
2、利用解析的配置,创建 SqlSessionFactory
工厂
3、生产 SqlSession
4、SqlSession
调用方法
Mybatis 配置文件分析
sqlMapConfig.xml
MyBatis 核心配置文件层级
MyBatis 常用配置解析
输出日志,在 sqlMapConfig.xml 添加如下配置:
<settings>
<!-- 输出日志 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
1)environments 标签
事务管理器( transactionManager
)类型有两种:
JDBC:直接使用 JDBC 的提交和回滚设置,依赖于从数据源得到的链接来管理事务的作用域
MANAGED:几乎不做事。不提交事务也不会回滚。让容器(例如 JEE 的应用服务器的上下文)来管理事务的整个生命周期。
默认情况下会关闭链接,然而一些容器不希望这样,需要配置 closeConnection
的属性为 false
来阻止它的默认关闭行为。
数据源( DataSource
)有三种:
- UNPOOLED:每次请求都打开和关闭链接
- POOLED:采用连接池管理 JDBC 链接
- JNDI:为了配合 EJB 容器使用,容器可以集中在外部配置数据源,然后放置一个 JNDI 的上下文引用
2)mapper 标签
作用是加载映射,加载方式有以下四种:
-
使用相对类路径的引用,例如:
<mapper resource="org/mybatis/builder/AuthorMapper.xml" />
-
使用 URL,例如:
<Mappper url="file:///var/mapper/AuthorMapper.xml" />
-
使用接口实现类的全限定类名,例如:
<mapper class="org.mybatis.builder.AuthorMapper" />
-
使用包名称,例如:
<package name="org.mybatis.builder" />
3)Properties
习惯性将数据量配置信息单独配置在 jdbc.properties
文件中
jdbc.dirver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/zdy_mybatis?characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
<properties resource="jdbc.properties"/>
注意顺序:properties 必须在最前面,否则会报如下错误
4)typeAliases 标签
类型别名是为 Java 类设置一个短的名字。原来的类型配置如下:
<select id="findAll" resultType="com.terwergreen.pojo.User">
select * from user
</select