Mybatis实例教程整体说明
2024-08-28 09:06:17
什么是mybatis
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.
orm工具的基本思想
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.
2. 由sessionfactory 产生 session
3. 在session 中完成对数据的增删改查和事务提交等.
4. 在用完之后关闭session 。
5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。
总体流程
(1)加载配置并初始化
触发条件:加载配置文件
将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
(2)接收调用请求
触发条件:调用Mybatis提供的API
传入参数:为SQL的ID和传入参数对象
处理过程:将请求传递给下层的请求处理层进行处理。
(3)处理操作请求 触发条件:API接口层传递请求过来
传入参数:为SQL的ID和传入参数对象
处理过程:
(A)根据SQL的ID查找对应的MappedStatement对象。
(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
(E)释放连接资源。
(4)返回处理结果将最终的处理结果返回。
最新文章
- Android+PHP+MYSQL把数据库中的数据显示在Android界面上
- width 、 height 与 box-sizing : border-box ,content-box 的关系
- 在VC++6.0开发中实现全屏显示
- 简单Matrix 的方法说明记录
- 路由器WAN端与LAN端的区别
- IO流04_InputStream和Reader输入流
- Android Framework------之PowerManagerService的功能
- iOS之UITableViewCell左右滑动效果
- Python 操作Redis
- Angular - - Angular数据类型判断
- 基于am3358的led跑马灯测试
- 用vmware workstation制作cloudstack(kvm)镜像及问题解决办法
- Apache Hadoop 2.9.2 的HDFS High Available模式部署
- ESP8266-Arduino杀手?
- Lucene实战之基于StandardAnalyzer读写索引
- ubuntu下安装intel realsense驱动
- uva-10125-暴力枚举
- pchar,pwidechar,pansichar作为返回参数时内存访问错误
- 在WinForm应用程序中嵌入WPF控件
- [JS] IE下ajax请求不生效或者请求结果不更新