SqlSession:
SqlSession
是MyBatis的核心接口,用于执行命令、获取映射器和管理事务。
用户可以通过SqlSession
来执行已映射的SQL语句。
Mapper接口:
Mapper接口是MyBatis中的映射器接口,它定义了数据库操作的方法,如查询、插入、更新和删除。
这些方法不需要实现,MyBatis会自动为这些方法创建实现。
XML映射文件或注解:
这些文件或注解用于定义SQL语句和映射规则。
XML文件通常定义在resources
目录下,而注解则直接定义在Mapper接口的方法上。
Configuration对象:
Configuration
对象包含了MyBatis的全局配置信息,如数据源配置、事务管理器等。
它是在初始化SqlSessionFactory
时创建的。
SqlSessionFactory:
SqlSessionFactory
用于创建SqlSession
实例。
它基于Configuration
对象配置的信息来工作。
工作流程
当调用Mapper接口中的方法时,MyBatis的工作流程大致如下:
获取SqlSession:
应用程序通过SqlSessionFactory获取一个SqlSession实例。
调用Mapper方法:
通过SqlSession调用Mapper接口中定义的方法。
解析映射文件或注解:
MyBatis检查Mapper接口上的方法,并找到相应的XML映射文件或注解中的SQL语句。
执行SQL语句:
根据找到的SQL语句,MyBatis会生成并执行相应的SQL命令。
如果是查询操作,它会将结果集映射到Java对象(POJOs)中。
返回结果:
执行完毕后,MyBatis将结果返回给调用者。
对于查询操作,返回的是映射后的Java对象或对象列表。
关闭SqlSession:
操作完成后,应该关闭SqlSession以释放数据库连接资源。