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

网站开发的研究背景wordpress配置邮件发送

网站开发的研究背景,wordpress配置邮件发送,北京seo优化诊断,室内装修设计费收费标准MP 启动注入 SQL 原理分析 文章目录一、MybatisPlus需要sql语句吗#xff1f;解答#xff1a;需要1.1. 问题#xff1a;为什么MybatisPlus看不到sql语句#xff1f;1.2. 分析#xff1a;继承关系1.3. 假设#xff1a;操作数据库一定有sql二、通过现象看本质2.1. 测试案例… MP 启动注入 SQL 原理分析 文章目录一、MybatisPlus需要sql语句吗解答需要1.1. 问题为什么MybatisPlus看不到sql语句1.2. 分析继承关系1.3. 假设操作数据库一定有sql二、通过现象看本质2.1. 测试案例2.2. debug调试运行2.2.1. employeeMapper的本质2.2.2. MapperProxy中的对象2.2.3. sqlSessionFactory中的对象2.2.4. configuration对象2.2.5. 方法对应关系2.2.6. MP在启动的时候2.2.7. 当我们调用方法的时候三、源码分析3.1. 根据方法找到类3.2 断点调试3.3. 接着调用addDeleteMappedStatement3.4. 调用injectDeleteByIdSql3.5. sqlSource拼接完成3.5. sqlSource拼接完成继续调用删除方法一、MybatisPlus需要sql语句吗 解答需要 1.1. 问题为什么MybatisPlus看不到sql语句 1.2. 分析继承关系 xxxMapper继承了BaseMapper,BaseMapper提供了通用的CRUD方法 1.3. 假设操作数据库一定有sql 方法来源于BaseMapper有方法就必须有SQL因为Mybatis最终还是需要通过SQL语句里操作数据库。 二、通过现象看本质 2.1. 测试案例 Testpublic void testCommonSelect() {//1. 根据主键ID查询Integer idPK 1;Employee employee employeeMapper.selectById(idPK);System.out.println(employee);}2.2. debug调试运行 employeeMapper就是一个接口但是我们拿到的对象是一个代理对象这个JDK动态代理 2.2.1. employeeMapper的本质 就是org.apache.ibatis.binding.MapperProxy4362d7df 2.2.2. MapperProxy中的对象 MapperProxy中sqlSeaaion有一个sqlSessionFactory 2.2.3. sqlSessionFactory中的对象 在sqlSessionFactory中有一个重要的对象configuration 2.2.4. configuration对象 这个对象是mybatis的全局配置对象它包含了所有的配置信息。在configuration里面有一个mappendStatements对象它里面每一个都是一个mappendStatement 其实每一个都是一个mapperdStatement都表示Mapper接口的一个方法与Mapper映射文件中的一个sql语句。 2.2.5. 方法对应关系 在BaseMapper定义的每一个方法都会有一条sql语句与之对应mapperdStatement。 2.2.6. MP在启动的时候 就会分析已经把我们BaseMapper里面的每一个方法将来索要执行的sql语句都帮我们构造好了并且都帮我们都保存到了configuraion里面的MappedStatements中的MappedStatement了。 2.2.7. 当我们调用方法的时候 它就会回到configuration里面找到我们的MappedStatements然后根据调用方法的名字再去找到对应的sql语句在其执行。 本质 在控制台在实例化employeeMapper这个bean的时候都调用了addMappedStatement这个方法来添加一个addMappedStatement而每一个addMappedStatement对应着mapper文件中的每一个方法 DEBUG 07-13 18:57:00,780 Autowiring by type from bean name employeeMapper via property sqlSessionFactory to bean named sqlSessionFactoryBean (AbstractAutowireCapableBeanFactory.java:1349) 三、源码分析 3.1. 根据方法找到类 根据addMappedStatement找到此方法的类AutoSqlInjector SQL 自动注入器 这个java文件 这个.class文件 3.2 断点调试 在.class文件中的addMappedStatement方法上打断点dubug运行当F8走到此方时参数包括sqlSource 等都是前面传过来的因此我们需要往前推 3.3. 接着调用addDeleteMappedStatement 3.4. 调用injectDeleteByIdSql 3.5. sqlSource拼接完成 3.5. sqlSource拼接完成继续调用删除方法 接下来就去调用addDeleteMappedStatement进行具体操作
http://www.pierceye.com/news/68372/

相关文章:

  • 建站时长是什么原因造成的wordpress+pdo+mysql扩展
  • 网站备案号 怎么写临武县网站建设专业
  • 做网站时候编代码南宁网站空间
  • 网站建设 费用高用户体验设计经典案例
  • 适合权重小的网站做的专题在淘宝上开网店的详细步骤
  • 做淘客必须有自己内部网站吗江西网站开发哪家专业
  • 淘宝做问卷的网站咸阳专业学校网站建设
  • 淘宝网网站开发部技术部厦门外贸网站建设报价表
  • pc网站生成手机网站编程网课
  • 哈尔滨门户网站建设大宗商品交易平台招商
  • 做破解网站合法wordpress编辑器不习惯
  • 模板网站代理免费苏州企业名录
  • 电子商务网站用户协议主流网站开发软件
  • 网站建设有哪些软件有哪些方面天津装修公司排名
  • 装修公司谁做网站简历模板免费下载word格式
  • 国外旅游网站模板下载seo免费
  • 网站维护与建设实训心得湘潭什么网站做c1题目
  • 珞珈学子网站建设山西省三基建设办公室网站
  • 网站做专题建设工程公司采购的网站
  • 国外设计导航网站大全企业发布招聘信息免费的网站
  • 沧州商城网站开发设计电商购物网站模板下载
  • 自己做网站价格石岩医院网站建设
  • asp建设的网站制作160 作者 网站建设 amp
  • 设计在线官网中国用什么软件做网站seo好
  • 有经验的企业做网站网站demo制作
  • 南昌手机建站模板长沙 网站优化
  • ftp如何备份网站网上注册公司流程工商
  • 青岛建站服务线上课程如何推广
  • 郑州服装 网站建设汽车交易网站系统建设
  • 黄金网站下载免费昆明电子商务网站