1、史上最透彻的MyBatis基本工作原理介绍计算机的基本工作就是存储和计算,而MyBatis是存储领域的利器。MyBatis的基本工作原理就是:先封装SQL,接着调用JDBC操作数据库,最后把数据库返回的表结果封装成Java类。2、MyBatis的核心流程介绍mybatis应用程序通过SqlSessionFactoryBuilder从mybatis-...
1、ResultMap的节点属性列表MyBatis的开发者认为,数据库不可能永远是你所想或所需的那个样子。我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们不总都是这样。如果能有一种完美的数据库映射模式,所有应用程序都可以使用它,那就太好了,但可惜也没有。 而ResultMap就是MyBatis对这个不完美问题的最完美答案。首先,让我们...
继《趣谈shell》之后,《新线程世界:一针见血多线程》是我计划写的第二本书。市面上写Java多线程的书很多,我也看过很多,不过,我有个怪癖:凡是阿里工程师写的多线程并发内容的书,我是一概不看。我把研究多线程的人分为两派:招式派和内功派。我属于内功派,那些人属于招式派,各有千秋。在招式派来看,我这个内功派的研究不够严谨,主观猜想成分多;在我眼里,那些招...
resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让我们从JDBC ResultSets 数据提取代码中解放出来,如下一个简单映射语句的示例,其并没有显式指定 resultMap。比如:<select id="selectUsers" resultType="map">
se...
备注:本文修订于2022年12月6日从本质上来说,mybatis就是一个映射器,它分为两部分映射:sql语句映射和查询结果的映射。1、sql语句映射在组装sql语句的时候,往往需要各种参数,这个时候要注意参数的设置问题,可以查看官方教程:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#Parameter...
修订日期:本文修订于2020年3月9日曾经,我看了很多shell的书,但是大多的书注重内容的收录,罗列出来的shell命令比较多,而且又零碎,很难学习,下功夫去记忆书上的命令,记住这些命令的参数,这样做看似学会了,其实两手空空,最后我自己写了一本书《趣谈shell》,广受好评。同样道理,看了很多写多线程和高并发的资料,不太解气,我也决定自己写本书,名字...
Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句。由于SQL语句需要动态来生成,否则可以将它们放到外部文件或者存储过程中。虽然MyBatis的XML映射文件中有一个强大的动态SQL生成方案,但有时在Java代码内部创建SQL语句也是必要的。此时,MyBatis有另外一个特性可以帮到你,可以减少诸如加号、引号和嵌入条件等SQL硬拼接...
学习和研究mybatis框架,我一般会参考mybatis中文文档,这是mybatis官方维护的一份指导学习文档,具有权威性:https://mybatis.org/mybatis-3/zh/index.html此文档开头会标明mybatis当前最新版本号:mybatis中文文档分为以下几个部分:XML配置:https://mybatis.org/myb...
1、数据结构和算法学习的疑惑很多人感觉,学习数据结构和算法并没有多少用,在实际工作中用的机会很少,只是在面试中被考到而已。我并不想纠正这种想法,因为我觉得它是合理的。如果你仅仅学习大学的教材《数据结构》,犹如你只学习了几个单词,你想完成一篇作文,那自然是不可行的。你需要补充其他的资料,把对“算法”这个事物的认识扩大起来,这个时候你会发现算法其实用处很大...
mybatis版本不断迭代,与之对应的是并没有什么经典书籍,最经典的莫过于官方的指导文档。相对来说,下面这些书籍对mybatis的入门会有帮助的,算是比较好的书籍。感兴趣的人不妨找来电子书读一读。1、Java EE互联网轻量级框架整合开发,出版时间:2017-07-012、Spring+Spring MVC+MyBatis框架技术精讲与整合案例,出版时...
mybatis依赖的jar非常少,主要有两个:(1)mybatis自身jar,它就只有一个jar包构成,不像spring,有那么一大堆。在早期的版本,mybatis还需要依赖javassist jar(实现动态代理),ognl jar(实现动态sql),而今mybatis已经将javassist和ognl融入了进来,全部整合到mybatis内部,所以目...
本文更新于:2020年4月20日1、什么是 MyBatis-Spring?MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 Mapper 和 SqlSession 并注入到 Bean 中,以及将 Mybatis 的异常转换为 Spri...
MyBatis是一个优秀的持久层框架,它对JDBC的操作数据库的过程进行封装。在《 MyBatis学习建议 》里面提到了,入门阶段需要结合JDBC知识,以加深理解MyBatis的工作原理和核心类库。所以,本文在主要内容是围绕JDBC展开的。JDBC是连接数据库和Java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作。1、什么是JD...
ORM是Object和Relation之间的映射,包括Object->Relation和Relation->Object两方面。Hibernate是个完整的ORM框架,而MyBatis完成的是Relation->Object,也就是其所说的Data Mapper Framework。JPA是ORM框架标准,主流的ORM框架都实现了这个...
1、什么是事务事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。事务可大可小,在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。2、MyBatis事务管理策略MyBatis的事务管理分为两种形式:(1)使用JDBC的事务管理机制。这种机制就是利用java.sql.Connection对象完成对事务的提交(2)使...
计算机有两大基本的功能:计算和存储。在存储方面,缓存的设计和实现也是一门学问。这门学问里面包含什么门道呢?不妨研究一下MyBatis缓存类PerpetualCache,一定会大有收获的。在MyBatis里面,存在一个PerpetualCache,它是一级缓存、二级缓存的最基本实现,但PerpetualCache只不过包装了一下HashMap。Perpe...
MyBatis生态强大,更新频繁,足见其生命力非常旺盛。刚刚进行了新版本的发布,MyBatis 3.5.3 发布。在ORM领域,MyBatis是当之无愧的王者。MyBatis首创了SQL映射和ResultSet映射的设计思想,给行业发展指明了方向,历经时间的考验,面对各种后起之秀的挑战,依然笑傲江湖,它是软件工程史上的奇迹。1、MyBatis 3.5....
对于mybatis的缓存,我们往往有这样两个疑问:一级缓存、二级缓存的过期时间是多少?后台是否有个线程在检测?针对这两个问题,见下面的分析:1、一级缓存无过期时间,只有生命周期(1)MyBatis在开启一个数据库会话时,会创建一个新的SqlSession对象,SqlSession对象中会有一个Executor对象,Executor对象中持有一个Perp...
备注:本文修订日期为:2020年5月20日mybatis框架是java web开发必备的框架,很多mybatis新手写代码的时候,需要在sql中使用到大于等于,这时候如果像sql中一样直接使用了>、<、>=、<=,在运行的时候于是就出现了一些意想不到的错误,为什么会出现这种情况呢?其实,跟sql注入的道理一样,sql中的>...
MyBatis源码采用了若干设计模式,在所有的设计模式中,关于“对象生成”类型的设计模式往往至关重要。生老病死嘛,生是第一位的。本文主要讲述一下产生MyBatis二级缓存的Builder设计模式。MyBatis二级缓存的产生过程当我们配置二级缓存的时候,是这样设置的:<cache eviction="FIFO" flushIn...
- « 前一页
- 1
- ...
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- ...
- 38
- 后一页 »