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

  • 时间:
  • 浏览:1

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

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

MyBatis框架和或多或少绝大次要框架一样,时需有有一另一个配置文件,其配置文件大致如下:

以上主要成员在一次数据库操作中基本总要涉及,在SQL操作中重点时需关注的是SQL参数哪几个刚刚被设置和结果集为啥转换为JavaBean对象的,这有有一另一个过程正好对应StatementHandler和ResultSetHandler类中的补救逻辑。

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

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

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

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

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

文章首发于我的被委托人博客:

后会,为哪几个时需要学习mybatis的工作原理?后会,随着mybatis框架的不断发展,如今后会没人趋于自动化,从代码生成,到基本使用,或多或少人甚至不时需动手写一句SQL就都时需完成有有一另一个简单应用的全部CRUD操作。

微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,专注于 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、线程池,偶尔讲点Docker、ELK,同去也分享技术干货和学习经验,致力于Java全栈开发!

关注公众号后回复“2020”领取我这两年分发的学习资料,暗含针灸学会编程、求职面试、算法刷题、Java技术学习、计算机基础和考研等11500G资料合集。

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

全部流程如下:

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

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

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

MyBatis的主要设计目的什么都让或多或少人对执行SQL语句时对输入输出的数据管理更加方便,什么都方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。

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

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

在mybatis的基础知识中或多或少人后会都时需对mybatis的工作依据窥斑见豹(参考:《MyBatis————基础知识》)。

后会对本系列文章有哪几个建议,后会是有哪几个现象语句,也都时需关注公众号【Java技术江湖】联系作者,欢迎你参与本系列博文的创作和修订。

喜欢语句麻烦点下Star哈

万变的外表终将迷惑或多或少人的双眼,若果抓住核心或多或少人永远不需要迷茫!

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

www.how2playlife.com

微信公众号【线程池员黄小斜】新生代青年聚集地,线程池员成长充电站。作者黄小斜,职业是阿里线程池员,身份是斜杠青年,希望和更多的线程池员交或多或少人,同去进步和成长!专注于分享技术、面试、职场等成长干货,你你你这俩 次,或多或少人同去出发。

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

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

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

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

d、JDBC执行sql。

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

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

关注公众号后回复“PDF”即可领取150+页的《Java工程师面试指南》强烈推荐,几乎暗含所有Java工程师必知必会的知识点。

mybatis应用线程池通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件(也都时需用Java文件配置的依据,时需加进@Configuration)中构建出SqlSessionFactory(SqlSessionFactory是线程池安全的);