MyBitis 的常用组件有:
1,SqlSessionFactoryBuilder:它会根据配置或者代码来生成 SqISessionFactory,采用的是分步构建的 Builder 模式。
2,SqlSessionFactory (工厂接口):依靠它来生成 SqlSession,使用的是工厂模式。
3,SqlSession (会话):一个既可以发送 SQL 执行返回结果,也可以获取 Mapper 的接 口。在现有的技术中, 一般我们会让其在业务逻辑代码中“消失”,而使用的是 MyBatis 提供的 SQLMapper 接口编程技术,它能提高代码的可读性和可维护性。
4,SQL Mapper (映射器): MyBatis 新设计存在的组件,它由一个 Java 接口和 XML 文件(或注解)构成,需要给出对应的 SQL 和映射规则。它负责发送SQL去执行, 并返回结果。
SqlSessionFactoryBuilder (构造器)
从上面的图中可以看出,SqlSessionFactory是由SqlSessionFactoryBuilder(构造器)创建的。SqlSessionFactory是一个接口,在Mybatis中它存在两个实现类:SqlSessionManager和DefaultSqlSessionFactory。
每个基于 MyBatis 的应用都是以一个SqlSessionFactory的实例为中心的, 而SqlSessionFactory 唯一的作用就是生产 MyBatis 的核心接口对象 SqlSession,所以它的责任是唯一的。 我们往往会采用单例模式处理它。
在 MyBatis中,既可以通过读取配置的 XML 文件的形式生成 Sq!SessionFactory,也可以通过 Java 代码的形式去生成 SqlSessionFactory。强烈推荐采用 XML 的形式,因为代码的方式在需要修改的时候会比较麻烦。
使用 XML 构建 SqlSessionFactory
在项目成功导入Mybatis依赖包后,就可以创建mybatis配置文件了,新建给一个xml文件,命名为mybatis-config.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">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource=""/>
</mappers>
<environment>元素的定义,这里描述的是数据库。它里面的<transactionManager> 元素是配置事务管理器,这里采用的是 MyBatis 的 JDBC 管理器方式。然后采用 <dataSource>元素配置数据库,其中属性 type=”POOLED”代表采用 MyBatis 内部提 供的连接池方式,最后定义一些关于 JDBC 的属性信息。