![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
文章平均质量分 51
不善^
java精品视频教程免费分享,基础的,分布式架构,高并发等等
展开
-
关于Mybatis使用PageHelper插件,出现没设置分页,sql也增加limit问题解决办法
问题描述:近期项目在运行过程当中,经常发现某些查询结果与实际结果不相符,只显示部分结果。查看后台日志,发现相应的sql后面自动添加了limit进行了分页导致。但我实际并没有对此方法添加分页功能。经过百度查询相关问题最终发现问题是在PageHelper插件的使用不规范导致的,主要是因为程序中其他某个查询方法增加了 PageHelper.startPage(1, 5);该方法执行后,但实际并没有调用sql语句,就会出现问题。PageHelper分页原理:PageHelper采用Thr原创 2021-04-22 19:23:08 · 2388 阅读 · 0 评论 -
Mybatis的关联的嵌套 Select 查询中的N+1问题
什么是N+1问题? 你执行了一个单独的 SQL 语句来获取结果的一个列表(就是“+1”)。 对列表返回的每条记录,你执行一个 select 查询语句来为每条记录加载详细信息(就是“N”)。 这个问题会导致成百上千的 SQL 语句被执行。有时候,我们不希望产生这样的后果。什么情况会存在N+1问题?首先单表查询时不会存在N+1问题的,存在N+1问题的情况就是存在关联嵌套查询的时候。举个例子,场景:一个电商系统,查询所有的客户信息(Customer)。假如此时如果我们的客户信息表原创 2021-01-10 16:38:26 · 1569 阅读 · 1 评论 -
Mybatis实践教程(九)-代码逆向自动生成工具MyBatis-Generator
逆向工程mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。官方介绍地址:http://www.mybatis.org/generator/自动生成工具下载地址:https://pan.baidu.com/s/1qynoa0FZcM1Jx80...原创 2019-07-01 00:07:27 · 832 阅读 · 5 评论 -
Mybatis实践教程(八)-一对多的关联关系
创建一对多关系的数据表,我们在这里用用户和订单表来表示一对多关系,一个用户有多个订单,一个订单只对应一个用户。创建t_user,t_order表CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `user_name` varchar(30) CHARACTER SET ut...原创 2019-06-22 20:49:21 · 288 阅读 · 0 评论 -
Mybatis实践教程(四)-数据添加
需求:添加一条用户信息至t_user表中需求:添加一条用户信息至t_user表中我们在上一章节的代码中继续增加代码UserService接口增加添加数据的方法int insertUser(User user);UserServiceImpl增加实现方法@Overridepublic int insertUser(User user) { return...原创 2019-06-11 23:33:17 · 362 阅读 · 0 评论 -
Mybatis实践教程(七)-一对一的关联关系
创建一对一关系的数据表,我们在这里用丈夫和妻子的关系来表示数据库中的一对一关系,下面我们通过实例来表示Mybatis中丈夫和妻子一对一关联关系。需求:查询丈夫和妻子数据信息。首先创建表结构t_husband,t_wifeCREATE TABLE `t_husband` ( `id` bigint(30) NOT NULL AUTO_INCREMENT, `husb...原创 2019-06-20 22:16:50 · 293 阅读 · 0 评论 -
Mybatis实践教程(三)-数据查询
本章节介绍如何利用spring boot+mybatis从数据库中查询数据并返回。上一章节我们已经创建好了数据库和表(用户表t_user)及内容本章查询的需求:查询所有用户信息 根据id查询单条用户信息首先在工程中创建domainUser.javapackage com.example.springbootmybatis.domain;public class ...原创 2019-06-09 23:10:37 · 242 阅读 · 0 评论 -
Mybatis实践教程(六)-动态sql
什么是动态sql?在Mybatis的mapper文件中根据实际传递的参数条件来拼接条件。在Mybatis中动态sql,通过if标签来判断该条件是否有值,如果有值则增加该条件的查询下面介绍动态查询和动态修改动态查询根据不同的查询条件查询用户信息我们在之前的代码继续扩展增加selectUserListBytDynamic方法UserService接口...原创 2019-06-14 23:35:57 · 231 阅读 · 0 评论 -
Mybatis实践教程(二)-Mybatis工程环境搭建
本工程采用jdk8+spring boot2+mybatis整合,使用maven管理项目,数据库使用mysql8.0。本章节我们先搭建好Mybatis环境的工程。首先我们先把数据库建好,创建一张表t_userDROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO...原创 2019-06-07 21:49:07 · 249 阅读 · 0 评论 -
Mybatis实践教程(一)-Mybatis介绍
介绍MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。特点简单易学:本身...原创 2019-06-06 23:12:08 · 359 阅读 · 0 评论