MyBatis 的核心有两个:
1.SqlSessionFactory
它是个单个数据库映射关系经过编译后的内存镜像.
SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得,
而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例.
每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心.
同时SqlSessionFactory也是线程安全的,SqlSessionFactory一旦被创建,应该在应用执行期间都存在.
在应用运行期间不要重复创建多次,建议使用单例模.
2.SqlSession
SqlSession是MyBatis的关键对象,是执行持久化操作的独享,类似于JDBC中的Connection.
它是应用程序与持久层之间执行交互操作的一个单线程对象,也是MyBatis执行持久化操作的关键对象.
SqlSession对象完全包含以数据库为背景的所有执行SQL操作的方法,它的底层封装了JDBC连接,可以用SqlSession实例来直接执行被映射的SQL语句.
每个线程都应该有它自己的SqlSession实例.SqlSession的实例不能被共享,同时SqlSession也是线程不安全的,绝对不能讲SqlSeesion实例的引用放在一个类的静态字段甚至是实例字段中.
也绝不能将SqlSession实例的引用放在任何类型的管理范围中,比如Servlet当中的HttpSession对象中.
使用完SqlSeesion之后关闭Session很重要,应该确保使用finally块来关闭它.
MyBatis Factory Config 属性
在MyBatis框架的核心配置文件中,元素是配置文件的根元素,其他元素都要再元素内配置。这些配置参数都有不同的意义,开发人员需要熟悉的就是下图的各个子元素的配置
SqlSessionFactoryBuilder可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例.
MyBatis框架的核心配置文件
注意: 的子元素必须按照上图从上到下的顺序进行配置,否则MyBatis在解析XML配置时就会出错
MyBatis 数据库配置
在MyBatis框架中配置数据库要使用标签
1.先创建db.properties 配置文件如下:
//注:本文已mysql为例jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost/dbnamejdbc.username=your usernamejdbc.password=your password
2.创建mybatis-config.xml文件,使用properties标签将resoure等于我们的数据库配置文件。
<?xml version="1.0" encoding="UTF-8"?>-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">