代码小兵652
程序员
resultMap元素是MyBatis中最重要最强大的元素。它可以让你从90%的JDBCResultSets数据提取代码中解放出来,并在一些情形下允许你进行一些JDBC不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份resultMap能够代替实现同等功能的数千行代码。ResultMap的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。resultMap可以将查询到的复杂数据,比如多张表的数据、一对一映射、一对多映...
MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。一级缓存在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的SQL,MyBatis提供了一级缓存的方案优化这部分场景,...
MyBatis,作为目前流行的ORM框架,大大方便了日常开发。而对于分页查询,虽然可以通过SQL的limit语句实现,但是比较繁琐。而MyBatisPageHelper的出现,则解决了这一痛点。这里将介绍如何在SpringBoot、MyBatis的环境中通过MyBatisPageHelper高效方便的实现分页查询.通过MyBatisPageHelper进行分页查询实际上非常简单,只需在service(或mapper)方法执行查询前,调用一次PageHelper.startPa...
MyBatis在结合Spring或SpringBoot时会将事务功能交由后者来进行管理,但这并不妨碍我们对它的学习,不然看着mybatis-config.xml中的<transactionManagertype="JDBC"/>配置项总会觉得这个是咋个玩起来了,总体来说MyBatis的事务管理还是很简单的。Demo示例:想要使用MyBatis事务功能的话我们在环境变量配置的时候一般需要指定事务管理器以及类型,即上面提到的<transact...