Mybatis
文章平均质量分 68
tinygodd
快乐编码
展开
-
mybatis系列-tkmybatis-10-pagehelper分页原理及源码分析
最近在写Mybatis系列文章,pageHelper在物理分页上用的比较多,这里就通过源码对它的原理进行分析tkmybatis源码版本:<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.12</ver...原创 2021-05-07 18:56:14 · 1192 阅读 · 0 评论 -
mybatis系列-tkmybatis-09-物理分页与逻辑分页的区别
Mybatis的分页操作可以分为物理分页和逻辑分页。他们之间有什么区别呢?在什么场景下使用什么样的分页呢?1. Mybatis实现分页的方法 使用RowBounds对象进行逻辑(逻辑内存中)分页,它是针对ResultSet结果集执行的内存分页。 使用pageHelper插件进行物理分页(其实是依赖物理数据库实体)。 2. Mybatis使用pageHelper实现分页的原理强烈推荐阅读——浅析pagehelper分页原理<dependency>..转载 2021-05-07 16:15:20 · 506 阅读 · 0 评论 -
Mybatis系列-tkmybatis-08-多数据源配置
作为一个资深的CRUD工程师,我们在实际使用springboot开发项目的时候,难免会遇到同时使用多个数据库的情况,比如前脚刚查询mysql,后脚就要查询sqlserver。为springboot配置多个数据源,需要用哪个数据库连接,直接@Autowired不就行了。那么问题来了,怎么配置呢?1、准备工作: a、建立了两个数据库,分别名为foodie-shop和foodie-shop-2,foodie-shop包含表users,foodie-shop-2包含表myusers。两...原创 2021-05-06 17:44:48 · 2088 阅读 · 1 评论 -
mybatis系列-tkmybatis-07-使用动态SQL方式扩展接口,进行多表关联查询
实际项目中,除了使用一些常用的增删改查的方法之外,有些复杂的需求,可能还需要执行一些自定义的动态sql。mybatis 除了提供了@Insert、@Delete 这些常用的注解,还提供了多个注解如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,用来建立动态sql 和让 mybatis 执行这些sql 的注解。这些注解在MybatisSpring和tkMybatis中都能使用。像我们在tkMybatis源码分析...原创 2021-04-30 17:50:48 · 871 阅读 · 1 评论 -
mybatis系列-tkmybatis-06-使用注解方式扩展接口,进行多表关联查询
前面介绍了使用xml方式扩展数据库操作接口,其实,mybatis 注解方式 和 XML配置方式两者的使用基本上相同,只有在构建 SQL 脚本有所区别,所以这里重点介绍两者之间的差异,还是以多表关联查询举个例子。示例 还是上一章的需求,相比于上一章,我们在UsersMapper中增加selectAllUsersOrdersByAnnotation方法,然后在该方法上增加@Select注解和用于将返回结果映射到pojo对象中的@Results注解(跟xml中的ResultMap类似...原创 2021-04-30 17:48:50 · 1065 阅读 · 2 评论 -
mybatis系列-tkmybatis-05-使用xml方式扩展接口,进行多表关联查询
tkMybatis是对Mybatis功能的扩展,在Mybatis中,可以通过xml方式扩展接口(先在*mapper接口类中定义新的接口方法,然后在*mapper.xml文件写实现SQL)。在tkMybatis中,并没有改变Mybatis的作用机制,在常规Mybatis扫描xml文件和mapper文件创建sqlSessionFactory和各种Mapper代理类之后,才进行的扩展,所以以前Mybatis的那一套机制依旧有效。 这里举例说明下,如何基于xml扩展,实现多表关联查询。现在有个Us...原创 2021-04-30 17:39:41 · 902 阅读 · 1 评论 -
mybatis系列-tkmybatis源码分析-02-完整作用机制分析
啃了一周tkmybatis源码,留篇文章记录下,阅读时间30分钟-1个小时纯mybatis每个持久化操作都要写sql,会显得有些繁琐。现在市面上也有很多的插件,比如mybatis逆向工程,mybatisCodeHelperPro等,可以在xml文件中生成一些常用的sql和对应的mapper接口方法。也有一些mybatis的第三方工具框架,帮我们免去单表操作的sql编写,比如通用mapper,mybatis-plus。接下来我们来研究一下我个人常用的通用mapper的使用极其原理。...原创 2021-04-30 10:19:22 · 849 阅读 · 1 评论 -
Mybatis系列-tkmybatis源码分析-01-mybatis、mybatis-spring和tkmybatis的关系
mybatis、mybatis-spring和tkmybatis的关系 定义 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis-Spring 会帮助你...原创 2021-04-30 09:46:48 · 1927 阅读 · 1 评论 -
mybatis系列-tkmybatis-04-SpringBoot整合TkMybatis+PageHelper实现分页查询
上一章把SpringBoot与TkMybatis、hikaricp整合了起来,本章再把pagehelper也加进来。1、增加POM依赖pagehelper-spring-boot-starter这里对应的mapper-spring-boot-starter版本是2.1.5<!--pagehelper依赖--><dependency><groupId>com.github.pagehelper</groupId>&l...原创 2021-04-30 09:41:40 · 638 阅读 · 0 评论 -
mybatis系列-tkmybatis-03-SpringBoot整合TkMybatis+HikariCP
上一章把SpringBoot与TkMybatis整合了起来,本章再把HikariCP也加进来。1、pom.xml文件因为SpringBoot已经包含了HikariCP的相关依赖,无需添加,所以这里相对于上一篇没有变动2、application.properties增加HikariCP配置项# tomcat配置server.port=8081server.tomcat.uri-encoding=utf-8# datasource配置spring.datasour...原创 2021-04-30 09:36:31 · 194 阅读 · 0 评论 -
mybatis系列-tkmybatis-02-SpringBoot整合TkMybatis
本章Sprintboot整合tkmybatis实现数据库访问,默认已通过tk-mybatisgenerator自动生成了po、dao和*mapper.xml(参考“003-数据库-tkmybatis-01-使用tk-mybatis generator 自动生成代码”),补全项目springboot相关依赖,包括spring-boot-starter、spring-boot-starter-web。1、在pom.xml文件中添加依赖<!--tk.mybatis依赖--...原创 2021-04-30 09:32:50 · 273 阅读 · 0 评论 -
mybatis系列-tkmybatis-01-使用tk-mybatis generator 自动生成代码
tk-mybatis 是mybatis的一个功能扩展,可以在原有方法的基础之上提供更多的功能可用,如一个基类Mapper, 继承他就相当于拥有了常用的增删改查等功能,无需再每个mapper文件中都写增删改查,非常方便。 那么接下来我们来开始看如何使用tk-mybatis generator从数据库直接生成代码(包括pojo实体类、mapper类以及对应的mapper.xml文件)。【注意,由于POM依赖之间的不同版本有可能存在兼容问题,所以如果使用中出现java.lang....原创 2021-04-30 09:27:47 · 1053 阅读 · 1 评论