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

258做网站怎么样网站建设费税率是多少钱

258做网站怎么样,网站建设费税率是多少钱,免费logo在线制作字体,cms网站管理系统Mybatis源码剖析—第二讲 那我们在讲完了mappedstatement这个类,它的一个核心作用之后呢?那下面我有一个问题想问问各位。作为mappedstatement来讲,它封装的是一个select标签或者insert标签。但是呢,我们需要大家注意的是什么&am…

Mybatis源码剖析—第二讲

那我们在讲完了mappedstatement这个类,它的一个核心作用之后呢?那下面我有一个问题想问问各位。作为mappedstatement来讲,它封装的是一个select标签或者insert标签。但是呢,我们需要大家注意的是什么?在我们开发的过程当中啊,这些我们所写的。select标签也好,还有insert标签儿,update标签儿delay的标签也罢,那么除了它标签儿上的这些内容之外。实际上,我们说它还有一个很重要的东西,
这个东西是什么呢?sql语句。哎,不管是insert标签当中的这个insert into的这条sql,还是我们所说的查询当中的这些select的sqk?那你会发现,作为这些标签,里面是不是都有这个SQL的封装啊?那么,作为这个sql的封装?它在mybatis源码当中是以什么形式来体现的呢?那首先我们大家可以确定的是什么呀?就是一切皆对象,什么最终都会被封装成对象的形式,

在这里插入图片描述
在这里插入图片描述
SQL语句,它一定是string类型的,但是它并没有。仅仅用一个string单独代表这个sql,而是把这个sql怎么着封装在了这个类里。那当然,我们说与sql相关的还有什么?那显然还有它的相关的参数。因为我们知道后续我们在写sql的时候,它一定不是简单的说select from, 它一定会带上相关参数,将这些统一封装成BoundSql类 从属于Mappedstatement, 这个秉承着责任单一,各司其职的面向对象的设计方式
就目前理解而言 : SqlSession封装JDBC,操作MappedStatement,其实并非这样

在这里插入图片描述
操作里包含了,查和改,改包括了增,删,改,还有处理缓存,这些操作由Executor实现,为什么设计成接口呢,根据设计原则来说,操作相关的类型都要设计成接口
在这里插入图片描述
它的设计也是这样,查看子类快捷键 ctrl + alt + B ,我们回到Executor类,

在这里插入图片描述
这个BaseExecute实际上是这个Execute的一个适配器,实现了一些基本功能,这三个才是最核心的
在这里插入图片描述

操作类对象 (SqlSession) ---> 门面 ExcutorExcutor 是Mybatis中处理功能的核心1. 增删改update  查query2. 事务操作 提交 回滚3. 缓存相关的操作Excutor接口 (适配器模式) 操作相关都要设计成接口BatchExcutorJDBC中批处理的操作, BatchExcutor ReuseExcutor目的:复用 Statement (需要sql一样)insert into t_user(ID,name)values(1,‘name1’);insert into t_user(ID,name)values(2,‘name2’);SimpleExcutor常用Excutor Mybatis推荐 默认 Configuration protected ExecutorType defaultExecutorType = ExecutorType.SIMPLE;

在这里插入图片描述
为什么需要批处理呢,因为每次connect连接操作系统都会消耗资源
在这里插入图片描述
现在我们知道了,executor是完成操作的。但其实真正完成数据库操作的是statementhandler。那为什么不能把这个executor给省略了,直接用statementhandler呢?还是我们所说的。单一职责的问题
executor他做了三件事。第一件事是增删改。也就是与数据库的。操作那除此之外,它是不是还有事物的控制?它是不是还有缓存的操作 所以实际上executor他做的是三件最主要的工作。那后续它之所以在这样的封装的原因是它把其中的第一部分操作。由statementhandler来进行工作。

在这里插入图片描述

采用了适配器模式StatmentHandlerStatementHandler是Mybatis封装了JDBC Statement,真正Mybatis进行数据库访问操作的核心功能:增删改差StatementHandler接口SimpleStatementHandlerJDBC 操作 PreparedStatementHandlerCallableStatementHandler ParameterHandler目的:Mybatis参数 ---》 JDBC 相关的参数 @Param ---> #{} --- > ?ResultSetHandler目的:对JDBC中查询结果集 ResultSet 进行封装 TypeHandlerJava程序操作 数据库Java类型   数据库类型String    varcharint       numberint       int excutor和statementhandler都用到了适配器模式

至此,我们总结一下

executor就是SqlSesson的一种实现,一种执行
在这里插入图片描述
跳到实现类中
在这里插入图片描述
然后executor可以进行对数据库进行操作,对缓存进行处理,对事务进行操作,具体对数据库的操作由statementhandler来做,通过parameterhandler进行参数处理,resultsethandler进行数据库的返回,相关类型由typehandler来进行控制,statementhandler封装了statement,resultsethandler封装了resuletset,至此我们流程就通了
在这里插入图片描述
点进去
在这里插入图片描述
跳到实现类
在这里插入图片描述
在这里插入图片描述
进行重载
在这里插入图片描述
在这里插入图片描述
交给executor进行执行,点击update方法继续往下深入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

至此我们这个流程算是完成了,和我们的结论一一印证了
在这里插入图片描述
我们为什么说第一种是代理设计模式呢,因为 UserDAO userDAO = sqlSession.getMapper(UserDAO.class); 我们并没有创建接口的实现类,但userDAO的确是一个子类,让我们瞧瞧
在这里插入图片描述
这个动态代理如何实现的呢,我们下一节来讲解

http://www.yayakq.cn/news/258405/

相关文章:

  • 扬州建设网站顺企网贵阳网站建设
  • 成考做那个网站的题比较好宁德网站制作公司
  • 做网站要不要交税站长工具国产
  • 在线ps网站医院网站开发公司
  • 佛山网站建设服务公司修水新闻最新消息
  • 开发一个网站需要多少钱wordpress 房产
  • 天津专业网站制作流程优势wordpress前端上传图片
  • 商业网站是什么意思中小型网站建设与管理设计总结
  • 网站开发硬件环境怎么填公司网页制作哪家强
  • 有人用我的企业做网站摩托车网站开发
  • 商业网站推荐wordpress图库插件
  • 家居企业网站建设平台网站设计前沿网站
  • 河北邯郸做网站可以翻外墙的浏览器
  • 如何让百度搜索到自己的网站深圳app开发外包
  • 网站美工工作流程百度一下百度知道
  • 建设项目验收 网站微信企业号
  • 网站怎么利用朋友圈做推广微网站是什么意思
  • 关于建设 网站的请示小程序模板多少钱
  • 网站手机验证码注册怎么做外贸网站建设 广州
  • dede网站源码打包下载有没有做任务给钱的网站
  • 我的网站域名是什么互联网+体育消费
  • 义乌企业网站搭建首选平面设计培训平台
  • 怎样建设网站空间wordpress自动推送
  • 上传网站的三种方法医院网站建设的计划
  • 临沂网站设计价格动画设计专业介绍
  • 公司网站开发费用大概多少全网视频合集网站建设
  • 网站排版的优点专业做棋牌网站的
  • 网站相互推广怎么做东莞专业网站推广策划
  • 招聘网站建设的意义网站建设免费建站
  • 上海网站科技wordpress宾馆