MyBatis 初始化过程
可以分为以下几个步骤:
-  
添加依赖:首先,需要在项目的
pom.xml(如果是 Maven 项目)或build.gradle(如果是 Gradle 项目)文件中添加 MyBatis 以及数据库驱动的依赖。 -  
配置文件:创建 MyBatis 的配置文件
mybatis-config.xml,这个文件包含了 MyBatis 的全局配置信息,如数据库连接信息、事务管理、映射文件等。 -  
映射文件:创建 SQL 映射文件(通常是 XML 格式),在这些文件中定义 SQL 语句和结果映射。这些文件可以单独存在,也可以按包结构组织。
 -  
创建数据源和 SqlSessionFactory:通过代码或依赖注入(如 Spring)来创建
SqlSessionFactory实例。SqlSessionFactory是 MyBatis 的核心接口,用于生成SqlSession实例。 -  
SqlSession:通过
SqlSessionFactory获取SqlSession实例,SqlSession提供了执行映射的 SQL 语句的方法,以及管理事务的方法。 -  
执行 SQL 语句:使用
SqlSession来执行定义在映射文件中的 SQL 语句,进行数据的增删改查操作。 -  
处理结果:MyBatis 会将数据库查询的结果自动映射到 Java 对象上,可以直接使用这些对象进行后续操作。
 -  
关闭 SqlSession:操作完成后,应该关闭
SqlSession以释放资源。 
MyBatis代码示例
XML方式:
String resource = "com/yang/mybatis/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();  
List list = sqlSession.selectList("com.yang.mapper.UserMapper.queryAllUser"); 
 
Java API方式:
String resource = "com/yang/mybatis/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);  
XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, null,null); 
 
Configuration configuration = parser.parse();  
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);  
SqlSession sqlSession = sqlSessionFactory.openSession();  
List list = sqlSession.selectList("com.yang.mapper.UserMapper.queryAllUser");  
 
-  
调用SqlSessionFactoryBuilder对象的build(inputStream)方法;
 -  
SqlSessionFactoryBuilder会根据输入流inputStream等信息创建XMLConfigBuilder对象;
 -  
SqlSessionFactoryBuilder调用XMLConfigBuilder对象的parse()方法;
 -  
XMLConfigBuilder对象返回Configuration对象;
 -  
SqlSessionFactoryBuilder根据Configuration对象创建一个DefaultSessionFactory对象;
 -  
SqlSessionFactoryBuilder返回 DefaultSessionFactory对象给Client,供Client使用。
 

初始化过程中的对象:
-  
SqlSessionFactoryBuilder : SqlSessionFactory的构造器,用于创建SqlSessionFactory,采用了Builder设计模式
 -  
Configuration :该对象是mybatis-config.xml文件中所有mybatis配置信息
 -  
SqlSessionFactory:SqlSession工厂类,以工厂形式创建SqlSession对象,采用了Factory工厂设计模式
 -  
XmlConfigParser :负责将mybatis-config.xml配置文件解析成Configuration对象,共SqlSessonFactoryBuilder使用,创建SqlSessionFactory
 



















