MyBatis工作原理

MyBatis工作原理和工作流程

1)加载配置
MyBatis将SQL的映射加载为一个个的MappedStatement对象(包括传入的参数的映射配置,执行的SQL语句,结果映射配置),将其存储在内存中

2)SQL解析
当API接口层收到调用请求时,会接受到传入SQL的ID和传入的参数对象(可以是Map,实体类或者基本数据类型),MyBatis会根据SQL的ID找到对应的MappedStatement,然后根据传入的参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数

3)SQL执行
将最终得到的SQL语句和参数拿到数据库进行执行,得到执行结果

4)结果映射
将操作数据库的结果按照结果映射配置进行转换,可以转换为Map,实体类或者基本数据类型,将转换结果返回


MyBatis工作流程

1)搭建MyBatis技术环境
为工程添加MyBatis的开发包和数据库驱动包,src下添加MyBatis的主配置文件SqlMapConfig.xml配置SqlMapConfig.xml,指定数据库连接参数和框架参数,利用MyBatis提供的API,获取SqlSession对象

2)获取SqlSession对象
`String path = "主配置文件URL";
Reader reader = Resources.getResourceAsReader(path);

//构建SqlSessionFactory对象
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
SqlSessionFactory ssf = ssfb.build(reader);

//构建SqlSession对象
SqlSession ss = ssf.openSession();`

3)利用SqlSession对象实现CRUD操作
增加(Create),读取查询(Retrieve),更新(Update),删除(Dedele)
·根据数据表编写实体类
·编写SqlMapper.xml映射文件,定义SQL操作和映射信息
·获取SqlSession对象,执行增删改查操作
·提交事务(DML)
·释放SqlSession对象资源

posted @ 2020-11-09 22:14  D•U•S•Tべ  阅读(73)  评论(0)    收藏  举报