当前位置: 首页 > news >正文

Mybatis架构

为什么80%的码农都做不了架构师?>>>   hot3.png

172128_rMkf_2651008.png

 

 

1、 mybatis配置

SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。

mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。

2、 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂

3、 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行。

4、 mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。

5、 Mapped Statement也是mybatis一个底层封装对象,它包装了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个Mapped Statement对象,sql的id即是Mapped statement的id。

6、 Mapped Statement对sql执行输入参数进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql前将输入的java对象映射至sql中,输入参数映射就是jdbc编程中对preparedStatement设置参数。

7、 Mapped Statement对sql执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql后将输出结果映射至java对象中,输出结果映射过程相当于jdbc编程中对结果的解析处理过程。

转载于:https://my.oschina.net/dongwt/blog/813073

相关文章:

  • 关于使用Lock的疑问。
  • ASP.NET MVC5----基本用法
  • 网络分析的发展
  • Web前端MVC框架
  • jquery笔记之属性选择器 查找以某种条件开头的页面元素
  • 分享:微软提供的一个开源控件treeview 的一小个用法
  • com.panie 项目开发随笔(NoF)_环境搭建(2016.12.29)
  • 鲁棒的数据库持久层设计
  • java 线程 障碍器
  • 利用WSS做后台存储--设计一个统一的信息发布平台
  • Java foreach操作(遍历)数组
  • lduan server 2012 远程桌面网络高可用(二十三)
  • ASP.NET Theme/aspnet_regiis -ga/aspnet_regsql
  • easyUI中onLoadSuccess方法获取多个对象
  • signalr推送消息
  • 2017 年终总结 —— 在路上
  • AngularJS指令开发(1)——参数详解
  • avalon2.2的VM生成过程
  • JavaScript对象详解
  • Java基本数据类型之Number
  • RxJS: 简单入门
  • Sublime Text 2/3 绑定Eclipse快捷键
  • uni-app项目数字滚动
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 大主子表关联的性能优化方法
  • 回顾 Swift 多平台移植进度 #2
  • 前嗅ForeSpider采集配置界面介绍
  • 浅谈web中前端模板引擎的使用
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​queue --- 一个同步的队列类​
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $L^p$ 调和函数恒为零
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (四) 虚拟摄像头vivi体验
  • (转)ABI是什么
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .NET CLR基本术语
  • .net 程序发生了一个不可捕获的异常
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .pyc文件是什么?
  • @WebServiceClient注解,wsdlLocation 可配置
  • [ 数据结构 - C++] AVL树原理及实现
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [BUUCTF 2018]Online Tool
  • [C++基础]-入门知识
  • [HTML]Web前端开发技术6(HTML5、CSS3、JavaScript )DIV与SPAN,盒模型,Overflow——喵喵画网页