随笔分类 -  【MyBatis】

摘要:前言:我们在平常工作中用到mybatis去加载Mapper.xml文件,可能mapper文件放的路径不一样,由此我们需要配置多个路径,幸运的是Mybatis支持我们配置多个不同路径。现在介绍两种方法。 最近在整合shardingsphere 用到所以总结一下。 一、配置文件: SpringBoot和 阅读全文
posted @ 2021-11-16 13:48 山河永慕~ 阅读(2089) 评论(0) 推荐(0) 编辑
摘要:mp 官方给出建议3.1.0之前版本没问题,针对3.1.1以及后续版本出现上述问题 现象: 集成druid数据源,使用3.1.0之前版本没问题,升级mp到3.1.1+后,运行时报错:java.sql.SQLFeatureNotSupportedException 原因: mp3.1.1+使用了新版j 阅读全文
posted @ 2021-10-09 13:30 山河永慕~ 阅读(3047) 评论(0) 推荐(1) 编辑
摘要:好多天没写博客了,因为最近在实习,大部分时间在熟悉实习相关的东西,也没有怎么学习新的东西,这周末学习了MyBatis的一个分页插件PageHelper,虽然没有那么的强大(我在最后会说明它的缺点),但还是挺不错的。这篇博文主要来总结下如何使用PageHelper。 我们知道,在MySQL中,分页的s 阅读全文
posted @ 2016-09-12 11:07 山河永慕~ 阅读(67272) 评论(3) 推荐(2) 编辑
摘要:1. 什么是逆向工程 mybatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.Java、po..)。一般在开发中,常用的逆向工程 阅读全文
posted @ 2016-09-12 10:49 山河永慕~ 阅读(5332) 评论(2) 推荐(0) 编辑
摘要:前面十几篇博文总结了mybatis在开发中的相关技术,但在实际中都是和spring整合开发的,所以这里总结一下mybatis和spring的整合方法,并在整合后进行测试。 1. 整合的环境 这都是老掉牙的问题了,不管是开发还是整合,首先环境肯定得有,环境嘛,除了Java环境和开发环境外,那就是jar 阅读全文
posted @ 2016-09-09 18:03 山河永慕~ 阅读(572) 评论(0) 推荐(0) 编辑
摘要:1. 二级缓存的原理 前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的。为了更加清楚的描述二级缓存,先来看一个示意图: 从图中可以看出: 缓存的执行原理和前面提到的一级缓存是差不多 阅读全文
posted @ 2016-09-09 09:46 山河永慕~ 阅读(711) 评论(0) 推荐(0) 编辑
摘要:缓存的作用是减轻数据库的压力,提高数据库的性能的。mybatis中提供了一级缓存和二级缓存,先来看一下两个缓存的示意图: 从图中可以看出: 这篇博文主要总结一下mybatis中的一级缓存,看一下一级缓存的工作原理: 从图中可以看出:第一次发起查询用户id为1的用户信息,先去找缓存中是否有id为1的用 阅读全文
posted @ 2016-09-08 17:46 山河永慕~ 阅读(367) 评论(0) 推荐(0) 编辑
摘要:1. 什么是延迟加载 举个例子:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 所以延迟加载即先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 我们 阅读全文
posted @ 2016-09-08 17:28 山河永慕~ 阅读(491) 评论(0) 推荐(0) 编辑
摘要:本文来总结一下mybatis中的多对多映射,从第8节的文章中可以看出,用户表和商品表示多对多关系,它们两的多对多是通过订单项和订单明细这两张表所关联起来的,那么这一节主要来总结一下用户表和商品表之间的多对多映射。 首先在上一节的基础上继续写sql, 因为多对多比较复杂,总公共有四张表,我们先来分析一 阅读全文
posted @ 2016-09-08 15:26 山河永慕~ 阅读(2636) 评论(0) 推荐(1) 编辑
摘要:上一篇博文总结了一下一对一的映射,本文主要总结一下一对多的映射,从上一篇文章中的映射关系图中可知,订单项和订单明细是一对多的关系,所以本文主要来查询订单表,然后关联订单明细表,这样就有一对多的问题出来了。 首先还是先写sql语句,在写sql语句的时候遵循两点: 明确了主表和关联表,下面就可以写sql 阅读全文
posted @ 2016-09-08 11:15 山河永慕~ 阅读(781) 评论(0) 推荐(0) 编辑
摘要:从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一、一对多、多对多查询,这篇先总结一下mybatis中的一对一查询。 为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到的不同的映射,为此,我建立4个表,如下: 每个表对应的po就不写了。从上面的表中,可以分析出下面的一些 阅读全文
posted @ 2016-09-08 10:26 山河永慕~ 阅读(742) 评论(1) 推荐(0) 编辑
摘要:1. 动态sql 动态sql是mybatis中的一个核心,什么是动态sql?动态sql即对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。就拿上一篇博文中对用户的综合查询一例来说: 假如这个user是null咋整?或者user.sex或者user.username为null呢 阅读全文
posted @ 2016-09-07 17:38 山河永慕~ 阅读(516) 评论(0) 推荐(0) 编辑
摘要:在前面几篇博文的例子中也可以看到mybatis中输入映射和输出映射的身影,但是没有系统的总结一下,这篇博客主要对这两个东东做一个总结。我们知道mybatis中输入映射和输出映射可以是基本数据类型、hashmap或者pojo的包装类型,这里主要来总结一下pojo包装类型的使用,因为这个在开发中比较常用 阅读全文
posted @ 2016-09-07 14:45 山河永慕~ 阅读(919) 评论(0) 推荐(1) 编辑
摘要:经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置文件中都有哪些可以配置的东西: 从前面的博文中可以看出,<environments>是用来配置myb 阅读全文
posted @ 2016-09-07 13:32 山河永慕~ 阅读(7151) 评论(0) 推荐(0) 编辑
摘要:上一篇博文总结了mybatis使用 原始dao的方法存在的一些弊端,我们肯定不会去用它,那么mybatis中该如何开发dao呢?如题所述,这篇博文主要来总结一下使用mapper代理的方法来开发dao的步骤。 使用mapper代理的方法来开发dao时,程序员只需要干两件事即可: 从做的工作来看,使用m 阅读全文
posted @ 2016-09-06 15:12 山河永慕~ 阅读(1164) 评论(0) 推荐(0) 编辑
摘要:上一篇博文总结了一下mybatis的入门,接下来就要开发dao方法了,这篇博文主要总结一下mybatis中原始dao开发的方法,最后并总结一下原始dao开发方法的弊端。mybatis中dao开发应该使用mapper代理的方法,这将在下一篇博文中介绍。 原始dao开发思路比较简单,写个dao接口和da 阅读全文
posted @ 2016-09-05 14:50 山河永慕~ 阅读(1303) 评论(1) 推荐(0) 编辑
摘要:mybatis是个持久层的框架,用来执行数据库操作的,无外乎增删改查,上一节对mybatis有了宏观上的了解后,这一篇博客主要通过一个小示例来入门mybatis,先看一下要写的示例需求: 其实也就是增删改查,掌握这些,基本上就掌握了mybatis的基本操作了,下面一个个模块来完成。 1.MyBati 阅读全文
posted @ 2016-09-05 13:41 山河永慕~ 阅读(726) 评论(1) 推荐(0) 编辑
摘要:今天开始学习mybatis框架,博客主要记录学习过程中的一些总结,如有错误之处,欢迎留言指正~先用mybatis的鸟鸟来镇个楼,咳咳~~ mybatis框架是一个持久层框架,是Apache下的顶级项目。mybatis可以让开发者的主要精力放在sql上,通过mybatis提供的映射方式,自由灵活的生成 阅读全文
posted @ 2016-09-05 08:54 山河永慕~ 阅读(586) 评论(0) 推荐(0) 编辑