深入JavaWeb技术世界15:深入浅出Mybatis基本原理

  • 时间:
  • 浏览:4

e、借助MappedStatement中的结果映射关系,将返回结果转化成HashMap、JavaBean等存储形态学 并返回。

完正流程如下:

文末赠送300000G的Java架构师学习资料,还要的一帮人儿要能到文末了解领取依据,资料包括Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容富有,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java系统线程员面试指南等干货资源)

(图片来自《深入理解mybatis原理》 MyBatis的分发以及实例分析)

文章首发于我的当时人博客:

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:

3、SqlSession对象完成和数据库的交互:

a、用户系统线程调用mybatis接口层api(即Mapper接口中的依据)

b、SqlSession通过调用api的Statement ID找到对应的MappedStatement对象

c、通过Executor(负责动态SQL的生成和查询缓存的维护)将MappedStatement对象进行解析,sql参数转化、动态sql拼接,生成jdbc Statement对象

d、JDBC执行sql。

www.how2playlife.com

系统线程员3T技术学习资源: 其他系统线程员学习技术的资源大礼包,关注公众号后,后台回复关键字 “资料” 即可免费无套路获取,包括Java、python、C++、大数据、机器学习、前端、移动端等方向的技术资料。

本文是微信公众号【Java技术江湖】的《走进JavaWeb技术世界》其中一篇,本文帕累托图内容来源于网络,为了把本文主题讲得清晰透彻,也整合了统统我认为不错的技术博客内容,引用其中了其他比较好的博客文章,如有侵权,请联系作者。

从原生mybatis到mybatis-spring,到mybatis-plus再到mybatis-plus-spring-boot-starter。spring在发展,mybatis同样在随之发展。

MyBatis框架和其他绝大帕累托图框架一样,还要一个多多配置文件,其配置文件大致如下:

(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容富有,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java系统线程员面试指南等干货资源)

以上主要成员在一次数据库操作中基本一定会涉及,在SQL操作中重点还要关注的是SQL参数有哪些刚刚被设置和结果集缘何转换为JavaBean对象的,这一个多多过程正好对应StatementHandler和ResultSetHandler类中的正确处理逻辑。

机会对本系列文章有有哪些建议,机会是有有哪些现象说说,要要能关注公众号【Java技术江湖】联系作者,欢迎你参与本系列博文的创作和修订。

Java工程师必备学习资源: 其他Java工程师常用学习资源,关注公众号后,后台回复关键字 “Java” 即可免费无套路获取。

该系列博文会告诉你如保从入门到进阶,从servlet到框架,从ssm再到SpringBoot,一步步地学习JavaWeb基础知识,并上手进行实战,接着了解JavaWeb项目中一直要使用的技术和组件,包括日志组件、Maven、Junit,等等内容,以便要我能更完正地了解整个JavaWeb技术体系,形成当时人的知识框架。为了更好地总结和检验你的学习成果,本系列文章也会提供每个知识点对应的面试题以及参考答案。

本系列文章将分发到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

https://www.jianshu.com/p/e398435fc1c4

https://segmentfault.com/a/1190000015117926?utm_source=tag-newest#articleHeader4https://blog.csdn.net/u01474300069/article/details/3000788127https://blog.csdn.net/u014297148/article/details/786930096https://blog.csdn.net/weixin_43184769/article/details/91126687

作者专注于 JAVA 后端技术栈,热衷于分享系统线程员干货、学习经验、求职心得和系统线程人生,目前黄小斜的CSDN博客有百万+访问量,知乎粉丝2W+,全网已有10W+读者。

以上配置中,最重要的是数据库参数的配置,比如用户名密码等,机会配置了数据表对应的mapper文件,则还要将其加入到节点下。 

在mybatis的基础知识中一帮人儿机会要能对mybatis的工作依据窥斑见豹(参考:《MyBatis————基础知识》)。

2、SqlSessionFactoryBuilder通过Configuration对象生成SqlSessionFactory,用来开启SqlSession。

原创电子书:

关注微信公众号【黄小斜】后回复【原创电子书】即可领取我原创的电子书《菜鸟系统线程员修炼手册:从技术小白到阿里巴巴Java工程师》这份电子书总结了我2年的Java学习之路,包括学习依据、技术总结、求职经验和面试技巧等内容,机会帮助统统的系统线程员拿到了心仪的offer!

用最直观的图,来征服你的心!

说明:SqlSession是单系统线程对象,机会它是非系统线程安全的,是持久化操作的独享对象,同类jdbc中的Connection,底层就封装了jdbc连接。

黄小斜是一个多多斜杠青年,坚持学习和写作,相信终身学习的力量,希望和更多的系统线程员交一帮人儿,一齐进步和成长!

或者,为有哪些还要要学习mybatis的工作原理?机会,随着mybatis框架的不断发展,如今机会没法 趋于自动化,从代码生成,到基本使用,一帮人儿甚至不还要动手写一句SQL就要能完成一个多多简单应用的完正CRUD操作。

万变的外表终将迷惑一帮人儿的双眼,我希望抓住核心一帮人儿永远越多再迷茫!

机会一帮人儿要我实时关注我更新的文章以及分享的干货说说,要能关注我的微信公众号【Java技术江湖】

或者,SqlSessionFactory的实例直接开启一个多多SqlSession,再通过SqlSession实例获得Mapper对象并运行Mapper映射的SQL说说,完成对数据库的CRUD和事务提交,刚刚关闭SqlSession。

https://github.com/h2pl/Java-Tutorial

黄小斜是跨考软件工程的 985 硕士,针灸学会 Java 两年,拿到了 BAT 等近十家大厂 offer,从技术小白成长为阿里工程师。

1、加载mybatis全局配置文件(数据源、mapper映射文件等),解析配置文件,MyBatis基于XML配置文件生成Configuration,和一个多多个MappedStatement(包括了参数映射配置、动态SQL说说、结果映射配置),其对应着标签项。

这是一位阿里 Java 工程师的技术小站。作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、上方件、集群、Linux、网络、多系统线程,偶尔讲点Docker、ELK,一齐也分享技术干货和学习经验,致力于Java全栈开发!

mybatis应用系统线程通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件(要要能用Java文件配置的依据,还要上加@Configuration)中构建出SqlSessionFactory(SqlSessionFactory是系统线程安全的);

MyBatis的主要设计目的却说要我能们对执行SQL说说时对输入输出的数据管理更加方便,统统方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。

喜欢说说麻烦点下Star哈