代码改变世界

随笔分类 - mybatis

mybatis源码解析-日志适配器

2020-06-08 09:09 by 全me村的希望, 345 阅读, 收藏, 编辑
摘要: 1.为什么需要使用适配器? 集成第三方日志组件,屏蔽日志组件底层实现,统一提供写日志的接口。 2.什么是适配器模式 定义:将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。 client-->Target(统一接口) Adapter继承Targe 阅读全文

spring boot mybatis 报错Invalid bound statement (not found)解决过程

2020-05-09 16:35 by 全me村的希望, 2417 阅读, 收藏, 编辑
摘要: 通过解决Invalid bound statement (not found),剖析mybatis加载Mapper接口、Mapper.xml以及将两者绑定的过程。 项目刚开始使用了spring boot mybatis: 1.配置扫描mapper接口 @MapperScan({"com.hbfec. 阅读全文

Mybatis基于注解开启使用二级缓存

2019-09-02 04:46 by 全me村的希望, 4157 阅读, 收藏, 编辑
摘要: 关于Mybatis的一级缓存和二级缓存的概念以及理解可以参照前面文章的介绍。前文连接:https://www.cnblogs.com/hopeofthevillage/p/11427438.html,上文中二级缓存使用的是xml方式的实现,本文主要是补充一下Mybatis中基于注解的二级缓存的开启使 阅读全文

Mybatis基于注解实现多表查询

2019-09-02 03:52 by 全me村的希望, 10237 阅读, 收藏, 编辑
摘要: 对应的四种数据库表关系中存在四种关系:一对多,多对应,一对一,多对多。在前文中已经实现了xml配置方式实现表关系的查询,本文记录一下Mybatis怎么通过注解实现多表的查询,算是一个知识的补充。 同样的先介绍一下Demo的情况:存在两个实体类用户类和账户类,用户类可能存在多个账户,即一对多的表关系。 阅读全文

Mybatis的一级缓存和二级缓存的理解以及用法

2019-08-29 00:42 by 全me村的希望, 26513 阅读, 收藏, 编辑
摘要: 程序中为什么使用缓存? 先了解一下缓存的概念:原始意义是指访问速度比一般随机存取存储器快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。对于我们编程来说,所谓的缓存,就是将程序或系统经常要调用的对象(临时数据)存在内存中,一遍其使用时可以快速调用,不必再去创建 阅读全文

Mybatis延迟加载的实现以及使用场景

2019-08-27 00:04 by 全me村的希望, 12537 阅读, 收藏, 编辑
摘要: 首先我们先思考一个问题,假设:在一对多中,我们有一个用户,他有100个账户。 问题1:在查询用户的时候,要不要把关联的账户查出来? 问题2:在查询账户的时候,要不要把关联的用户查出来? 解答:在查询用户的时候,用户下的账户信息应该是我们什么时候使用,什么时候去查询。 在查询账户的时候,账户的所属用户 阅读全文

mybatis多表查询之多对多关系查询的实现-xml方式

2019-08-26 03:10 by 全me村的希望, 7974 阅读, 收藏, 编辑
摘要: Mybatis对于多对多关系下的查询提供了集合(collection)的概念来解决,collection属性是resultMap高级结果映射的子集,首先,在本例中我们使用的是集合元素来解决多对多的查询。 然后你会注意到有一个新的 “ofType” 属性。这个属性非常重要,它用来将 JavaBean( 阅读全文

Mybatis多表查询之一对一查询的多种实现-XML配置

2019-08-25 00:10 by 全me村的希望, 2976 阅读, 收藏, 编辑
摘要: Mybatis 中对于多表查询提供了非常强大的实现方式,主要是通过resultMap的结果映射对于多表查询后的返回值进行封装,让我们来看一下官网上对于resultMap的解释:resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets  阅读全文

Mybatis mapper动态代理的原理详解

2019-08-20 18:46 by 全me村的希望, 23109 阅读, 收藏, 编辑
摘要: 在开始动态代理的原理讲解以前,我们先看一下集成mybatis以后dao层不使用动态代理以及使用动态代理的两种实现方式,通过对比我们自己实现dao层接口以及mybatis动态代理可以更加直观的展现出mybatis动态代理替我们所做的工作,有利于我们理解动态代理的过程,讲解完以后我们再进行动态代理的原理 阅读全文

Maven 项目使用mybatis的环境搭建-基于xml形式实现查询所有的功能

2019-08-15 18:05 by 全me村的希望, 550 阅读, 收藏, 编辑
摘要: 首先了解一下什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO( 阅读全文