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

常规网站建设内容门户网站建设运营

常规网站建设内容,门户网站建设运营,劳务公司网站怎么做,营销型网站开发公司一、背景 同事在同一个mapper.xml (namespace相同),复制了一个sql没有修改id,正常启动项目。但是我以前使用mybatis的时候如果在namespace相同情况下,id重复,项目会报错无法正常启动,后来看代码…

一、背景

同事在同一个mapper.xml (namespace相同),复制了一个sql没有修改id,正常启动项目。但是我以前使用mybatis的时候如果在namespace相同情况下,id重复,项目会报错无法正常启动,后来看代码发现,是mybatisplus处理了id重复,项目也能正常启动。

二、mybatis 解析crud sql 的流程

mybatis启动流程,springboot启动时,加载MybatisAutoConfiguration类,创建sqlSessionFactoryBean类,执行流程sqlSessionFactoryBean -> afterPropertiesSet ->
xmlMapperBuilder.parse()->
this.configurationElement(this.parser.evalNode(“/mapper”))->
buildStatementFromContext->
parseStatementNode->
builderAssistant.addMappedStatement->
configuration.addMappedStatement(statement)
关键就在configuration中的addMappedStatement方法,如下图是mybatis中截图,mappedStatements是map集合,以id为key MappedStatement为值,mybatisplus就在这加的判断。
在这里插入图片描述
集合是在configuration初始化完成赋值成StrictMap类型。
在这里插入图片描述
继续看StrictMap中的put方法,可以看出,如果namesapce一直,id重复会抛错。
在这里插入图片描述

三、mybatisplus中流程

1、springboot启动时,加载MybatisplusAutoConfiguration类时,此类中创建了mybatis重写的sqlSessionFactoryBean类,此类中加入了自己的MybatisConfiguretion类重写了Configuretion类,拓展了crud等功能。
2、解析xml 中crud流程和mybatis大致一样,不同地方在MybatisConfiguretion类addMappedStatement方法中添加了判断,如果重复打印错误执行return跳过mybatis中的addMappedStatement方法。
在这里插入图片描述

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

相关文章:

  • 做网站用到什么技术哪些网站是动态的
  • 大连知名互联网公司wordpress 数据库优化
  • 网站官网建设方案免费建站平台排名
  • 网站没域名浙江省住房建设厅网站首页
  • flash网站优缺点提交网站入口
  • 搭建广告网站费用网站布局 种类
  • 怎么让网站被收录上海百度公司总部
  • 1m带宽做网站快不四线城市网站建设方向及营利点
  • 如何将aaa云主机做网站手机网站用什么软件
  • 无忧网站建设哪家便宜wordpress网址重定向
  • 深圳英文建站公司wordpress安装后台
  • 网站的可行性分析怎么写郴州市高中阶段招生录取系统
  • 网站下拉菜单设计雅安建设局网站
  • 网站建设保密协议书成都电子网站建设多少钱
  • 青岛开发网站单位网站备案流程
  • 厦门企业网站建设方案文明网站建设工作进度表
  • 手机网站自动跳转代码开网站挣不挣钱
  • 成都企业网站设计服务商建设工程质量管理条例2020
  • 广州站到广州南站地铁要多久天河门户网站建设
  • 网站建设代理推广徽信xiala5效果好琼海建设网站
  • 网站开发工资一般多少钱网站建设规划书万能
  • 建站空间怎么选网页制作的常用开发工具是什么
  • 帝国网站如何做中英文切换帮朋友做网站
  • 最牛免费网站建设建设银行网站买手机
  • 网站关键词设几个在线logo制作生成免费
  • 网站维护员招聘通化网站建设公司
  • 17一起做网店网站php企业网站源码下载
  • 怎样建立网站绍兴网站建设企业
  • eclipse做网站代码互联网行业都有哪些工作岗位呢
  • 国外优秀的html5网站wordpress怎么加地图吗