Mybatis实现【2】--基本流程

本文详细阐述了MyBatis如何通过数据库连接池管理、SQL语句配置、变量映射、动态SQL处理、数据库操作结果映射及缓存等手段优化JDBC操作,实现高效灵活的数据访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.iteye.com/blogs/subjects/mybatis_internals

MyBatis对JDBC的优化和封装

-使用数据库连接池进行进行管理

-SQL语句统一放置到配置文件

-SQL语句变量和传入参数的映射以及动态SQL

-动态SQL语句的处理

-对数据库操作结果的映射和结果缓存

-SQL语句的重复

整体设计

1、总体流程

1.1、加载配置并初始化

    触发条件:加载配置文件

    配置来自两个地方,一处是配置文件,一处是Java代码注释,将SQL的配置信息加载成为一个MappedStatement对象(包括传入参数映射配置、执行的SQL语句、结果映射配置),储存在内存中。

1.2、接收调用请求

    触发条件:调用MyBatis提供的API    

    传入参数:SQL的ID和传入参数对象

    处理过程:将请求传递给下层的请求处理层进行处理

1.3、处理操作请求

    触发条件:API接口层传递请求过来

    传入参数:SQL的ID和传入参数对象

    处理过程:

    根据SQLID查找对应的MappedStatement对象

    根据传入参数对象解析MappedStatement对象,得到执行SQL和执行传入参数

    获取数据库连接,根据最终SQL和传入参数到数据库中执行,并得到执行结果

    根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。

    释放连接资源

1.4、返回处理结果

2.功能架构设计

6a59d52b-db76-3737-b164-f366bb2fbce7.png 

3.框架架构设计

4c262135-9658-3f9e-93c9-0b17c182e94a.png 

该系列文章参考如下书籍及文章:

《Java Persistence with MyBatis 》

《http://www.cnblogs.com/hzhuxin/p/3349836.html》

《http://www.iteye.com/topic/1112327》

《http://www.iteye.com/blogs/subjects/mybatis_internals》

《http://denger.me/2011/05/mybatis-and-spring-interface-integrated/》








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值