MyBatis
文章平均质量分 86
MyBatis 是一个半自动的持久层框架
TizzyGoodhealth
反派角色
展开
-
MyBatis延迟加载
MyBatis延迟加载什么是延迟加载?在开发过程中很多时候我们并不需要总是在加载⽤户信息时就⼀定要加载他的订单信息。此时就是我们所说的延迟加载。在⼀对多中,当我们有⼀个⽤户,它有个100个订单在查询⽤户的时候,要不要把关联的订单查出来?在查询订单的时候,要不要把关联的⽤户查出来?回答在查询⽤户时,⽤户下的订单应该是,什么时候⽤,什么时候查询。在查询订单时,订单所属的⽤户信息应该是随着订单⼀起查询出来。延迟加载就是在需要⽤到数据时才进⾏加载,不需要⽤到数据时就不加载数据。延迟加原创 2021-02-06 17:14:35 · 92 阅读 · 0 评论 -
Mybatis 缓存
Mybatis缓存⼀级缓存mybatis 为我们提供了一级缓存和二级缓存,可以通过下图来理解:可以看到一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,底层实际上是在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨Sql原创 2021-02-01 00:04:16 · 171 阅读 · 2 评论 -
Mybatis复杂映射开发
Mybatis复杂映射开发一对一⽤户表和订单表的关系为,⼀个⽤户有多个订单,⼀个订单只从属于⼀个⽤户⼀对⼀查询的需求:查询⼀个订单,与此同时查询出该订单所属的⽤户用户表订单表 uid表示用户id⼀对⼀查询的语句对应的sql语句:select * from orders o,user u where o.uid=u.id;查询结果实际开发需要将其封装在Java对象里创建Order和User实体Orderpublic class Order { private I原创 2021-01-31 20:37:55 · 192 阅读 · 1 评论 -
MyBatis之动态Sql拼接
MyBatis之动态Sql拼接前言Mybatis 的映射⽂件中,前⾯我们的 SQL 都是⽐较简单的,有些时候业务逻辑复杂时,我们的 SQL是动态变化的,在MyBatis之前对于一些复杂的 SQL 对于我们业务开发时候是不支持的,有时候需要我们为了一两个参数从而去编写重复的sql语句,对此,MyBatis提供了动态Sql去根据不同的条件动态的生成sql语句,极大了对复杂业务查询提供了便利性。例对此我们可以根据不同的取值,使用不同的Sql去查询。业务查询实时可以根据id,或者name的传入而决定去查原创 2021-01-31 00:20:09 · 3173 阅读 · 0 评论 -
Mybatis架构原理
这里写自定义目录标题Mybatis架构原理前言自定义Mybatis原理简述Mybatis 架构原理Mybatis主要分为三个层次:具体构件和相互关系执行流程:总结Mybatis架构原理前言之前在这篇文章里自定义手写了mybatis框架,然后我们来简单的对应着自定义的mybatis简述一下myabtis的架构原理;自定义Mybatis原理简述我们来简单的看一下:首先加载配置文件,自定义mybatis时候 ,即新建了自己的xml配置文件用于存放我们的sql以及参数类型返回值,入参类型;然后通过S原创 2020-12-17 14:13:51 · 198 阅读 · 0 评论 -
手撸一个mybatis自定义持久框架 [ 实现简单的单表 crud ]
自定持久框架 mybatis前言JDBC操作数据库和Mybatis操作数据库,为什么使用Mybatis框架,而不去使用原生过的JDBC操作数据库呢?带着这么几个问题,我们先来看看原生的JDBC操作数据步骤!JDBC操作数据库步骤1 加载驱动2 创建连接3 编译sql语句4 设置参数5 执行sql语句6 获取结果返回集7 关闭连接JDBC操作数据库存在的几个痛点:1 首先第一步加载驱动,这个我们完全可以通过反射来解决,更换不同的数据库驱动;2 创建连接,每一次操作数据库都要去原创 2020-11-08 20:39:44 · 558 阅读 · 9 评论 -
Spring Boot 使用Mybatis 通用 Mapper
Mybatis 通用 Mapper对单标crud来说,我们不需要每次都去写一套增删改查接口,直接复用一套代码即可,这次通用Mapper插件就派上用场了。支持 Mybatis-3.2.4 及以上版本引入依赖 <!--通用mapper --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-原创 2020-06-25 20:22:32 · 266 阅读 · 0 评论 -
Spring Boot JDBC + Mybatis 配置多数据源 以及 采用Durid 作为连接池
1 配置文件在配置文件中配置两个数据源配置,以及mybatis xml配置文件路径# mybatis 多数据源配置mybatis.config-location = classpath:mapper/config/mybatis-config.xml################# mysql 数据源1 #################spring.datasource.on...原创 2019-06-29 18:30:03 · 938 阅读 · 0 评论 -
mysql出现The server time zone value '�й���ʱ��' is unrecognized 记录
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone config...原创 2018-09-18 00:50:00 · 10371 阅读 · 11 评论