
MyBatis
清风挽歌
keep moving
展开
-
MyBatis缓存 (一级缓存、二级缓存)
MyBatis缓存几乎所有的ORM框架都提供了缓存机制。MyBatis框架包含了一个非常强大的缓存特征,它可以很方便的配置使用。实际开发中,缓存可以极大的提升查询的效率MyBatis中的有两个缓存,一级缓存和二级缓存。默认情况下,只有一级缓存是开启的,一级缓存是SqlSession级别的缓存,二级缓存需要手动开启和配置,他是namespace级别的缓存MyBatis中也提供了缓存接口,我们也可以整合第三方的二级缓存插件来使用,提高扩展性一级缓存一级缓存是SqlSession级别的缓存,共享范围就原创 2020-11-05 22:19:06 · 308 阅读 · 0 评论 -
MyBatis 延迟加载(懒加载)
MyBatis延迟加载当我们进行多表查询时,会牵扯到多张表,如果我们查询之后,并不一定使用结果中的全部字段,可能只会用到其中几个字段,这时,如果我们只需要一两个字段但是每次的查询都是多表查询一定会很影响效率,所以的我们可以使用延迟加载的方案立即加载:不管用不用,只要一调用方法,马上发起查询延迟加载:在真正使用数据的时候才发起查询,不用的时候不查询关联的数据,又叫做按需加载(懒加载)延迟加载又根据加载时机分为侵入式延迟和深度延迟侵入式延迟加载执行对主加载对象的查询时,不会执行对关联对象的查询。但原创 2020-11-04 23:18:40 · 421 阅读 · 0 评论 -
MyBatis 多表关联查询(手动映射)
MyBatis多表关联查询如果使用多表查询,那么表之间一定有这三种关系:一对一,比如一个人有且只有一个身份证号一对多,比如一个人可以有多个银行卡多对多,比如一个学生可以选择多个课程,一个课程也可以被多个学生选择使用MyBatis实现多表查询,根据表与表之间的关系不同,具体实现就会有些不同首先分析问题:当我们进行多表查询时,返回的结果集一定是两个表中的数据,那么我们总不能再准备一个(包含两个表中所有字段的)POJO来映射这次返回的结果。这时,我们可以考虑让第一个表的POJO包含第二个表的原创 2020-11-03 22:49:26 · 3964 阅读 · 1 评论 -
MyBatis 动态SQL 用法
MyBatis动态SQL动态SQL是MyBatis强大的特征之一,极大的简化了我们SQL拼装的操作,使用基于OGNL的表达式让操作更加简化OGNL对象图导航语言。强大的表达式语言,通过它可以非常方便的操作对象属性动态SQL就是通过一系列的标签来决定输出的数据,完成SQL语句的组装sql标签(先说一个sql标签,这个不是动态sql)将一些通用的SQL语句进行抽取,放到sql标签中,然后使用include标签将该SQL语句引入 <!--将表中的字段都拿出来放到一个单独的sql标签中原创 2020-11-03 22:45:08 · 248 阅读 · 0 评论 -
MyBatis配置详解
MyBatis配置详解一、mybatis-config.xml的基本配置environments 标签:它表示配置数据源环境它里面可以放多个environment属性default,就是用来控制当前使用的数据源(值为environment标签中的Id的值)environment标签:表示一个具体的数据源环境信息属性id,多个environment设置为不同的id,分别表示的意思也不同test表示测试环境下的数据源product表示生产环境下的数据源它里面的标签ransact原创 2020-11-02 22:13:58 · 379 阅读 · 0 评论 -
MyBatis入门
MyBatis入门MyBatis是一个半ORM(对象关系映射)框架,也是一个属于持久层的框架。内部封装了JDBC,开发时,只需要关注SQL语句本身,无需开发者处理加载驱动、获得连接、创建Statement等繁琐的操作。ORM思想:(Object Relation Mapping)java中的实例和关系型数据库中的表之间的映射。使用面向对象的思想,把对数据表的操作转换为对对象的操作。我们都是从JDBC开始学习的,那么我们来回顾一下JDBC的使用流程,加载数据库驱动包、准备连接数据库的参数信息、准备C原创 2020-11-01 23:11:54 · 117 阅读 · 0 评论