随笔分类 -  Mybatis

摘要:官方文档:https://pagehelper.github.io/docs/ 我们在 mybatis和spring整合(基于xml) 的基础上使用分页插件。 引入分页插件 <dependency> <groupId>com.github.pagehelper</groupId> <artifact 阅读全文
posted @ 2022-03-20 15:25 残城碎梦 阅读(151) 评论(0) 推荐(0) 编辑
摘要:话不多说,直接上图: 其实无论哪种方式,我们最终是需要找到对应的 SQL 语句,接口代理的方式就是通过 【包名.方法名】 的方式,去找到 xxxMapper.xml 文件中的 SQL 语句。 很明显,通过动态代理的方式,我们能够实现该功能。 创建接口 public interface PersonM 阅读全文
posted @ 2022-03-20 11:58 残城碎梦 阅读(184) 评论(0) 推荐(0) 编辑
摘要:上一篇文章中,我们介绍了 SqlSessionFactory 的创建过程,我们先回顾以下这张图 SqlSession实例代码 在实例代码中,通过 SqlSession 对象查询数据有两种形式: ①、常规的需要我们拼接 statement 方式; ②、xxxMapper.interface 接口代理方 阅读全文
posted @ 2022-03-20 11:47 残城碎梦 阅读(264) 评论(0) 推荐(0) 编辑
摘要:官方文档:https://baomidou.com/ MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 我们在 mybatis 阅读全文
posted @ 2022-03-20 09:51 残城碎梦 阅读(475) 评论(0) 推荐(0) 编辑
摘要:什么是通用Mapper 通用mapper 可以极大的方便开发人员进行ORM,提供极其方便的单表增删改查。 什么是通用mapper,一句话简单说,它就是个辅助mybatis极简单表开发的组件。它不是为了替代mybatis,而是让mybatis的开发更方便。 可以按照自己的需要选择通用方法,还能很方便的 阅读全文
posted @ 2022-03-20 09:50 残城碎梦 阅读(262) 评论(0) 推荐(0) 编辑
摘要:构建SqlSessionFactory的实例代码 前面,在实例代码中,我们在测试类中写了一个 init() 方法,里面包括了 SqlSessionFactory 的构建,分为两步。 第一步:读取配置文件 mybatis-config.xml 输入流 第二步:根据输入流构建 SqlSessionFac 阅读全文
posted @ 2022-03-20 09:48 残城碎梦 阅读(91) 评论(0) 推荐(0) 编辑
摘要:想要整合mybatis和spring,那么我们首先要知道这两个框架是干嘛的,对于mybatis我们前面几篇博客已经有了很详细的介绍,我们通过加载mybatis-configuration.xml 文件来产生SqlSessionFactory,然后通过SqlSessionFactory去产生sqlSe 阅读全文
posted @ 2022-03-15 13:28 残城碎梦 阅读(684) 评论(0) 推荐(0) 编辑
摘要:通过前面的学习,在实际开发中,我们基本上能对mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的po类,xxxMapper.xml,xxxMap 阅读全文
posted @ 2022-03-15 09:28 残城碎梦 阅读(389) 评论(0) 推荐(0) 编辑
摘要:全局配置文件的结构: configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAliases 类型命名 typeHandlers 类型处理器 objectFactory 对象工厂 pl 阅读全文
posted @ 2022-03-14 21:31 残城碎梦 阅读(241) 评论(0) 推荐(0) 编辑
摘要:前面我们了解了通过mybatis的懒加载来提高查询效率,那么除了懒加载,还有什么方法能提高查询效率呢?这就是我们本章讲的缓存。 mybatis 为我们提供了一级缓存和二级缓存,可以通过下图来理解: ①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中 阅读全文
posted @ 2022-03-14 13:19 残城碎梦 阅读(1651) 评论(0) 推荐(0) 编辑
摘要:本篇博客我们讲如何通过懒加载来提高mybatis的查询效率。 需求:查询订单信息,有时候需要关联查出用户信息 第一种方法:我们直接关联查询出所有订单和用户的信息 select * from `order` o ,user u where o.user_id = u.id; 分析: ①、这里我们一次查 阅读全文
posted @ 2022-03-13 22:42 残城碎梦 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一对一 我们以用户表 user 和订单表 orders 为例。设定一个订单只能由一个 用户创建,那么由订单到用户就是一对一的关系。 ①、创建用户表 user 和订单表 order 用户表 user ② 订单表order ②、创建项目工程,导入相应的 jar 包 <properties> <proje 阅读全文
posted @ 2022-03-13 18:24 残城碎梦 阅读(67) 评论(0) 推荐(0) 编辑
摘要:通过 mapper 接口加载映射文件,对于以后与Spring框架的整合是非常重要的。那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-configuration.xml 通过 <mappers> 标签来加载映射文件,那么如果我们项目足够大,有很 阅读全文
posted @ 2022-03-13 18:07 残城碎梦 阅读(281) 评论(0) 推荐(0) 编辑
摘要:Mybatis的Mapper文件中的select、insert、update、delete元素中都有一个parameterType属性,用于对应的mapper接口方法接受的参数类型。 parameterType (不是必须)如果不指定,自动识别,指的就是传入的参数 MyBatis的传入参数param 阅读全文
posted @ 2022-03-13 17:26 残城碎梦 阅读(2551) 评论(1) 推荐(0) 编辑
摘要:前面我们通过实例讲解了用mybatis对一张表进行的CRUD操作,但是我们发现写的 SQL 语句都比较简单,如果有比较复杂的业务,我们需要写复杂的 SQL 语句,往往需要拼接,而拼接 SQL ,稍微不注意,由于引号,空格等缺失可能都会导致错误。 那么怎么去解决这个问题呢?这就是本篇所讲的使用 myb 阅读全文
posted @ 2022-03-13 16:50 残城碎梦 阅读(1346) 评论(0) 推荐(1) 编辑
摘要:前面的示例中,在 mybatis-configuration.xml 的配置文件中,对数据库的配置都是硬编码在这个xml文件中,如下图,那么我们如何改进这个写法呢? 将数据库的配置语句写在 db.properties 文件中 jdbc.driver=com.mysql.jdbc.Driver jdb 阅读全文
posted @ 2022-03-13 16:49 残城碎梦 阅读(163) 评论(0) 推荐(0) 编辑
摘要:创建数据库和表 与 基于XML的入门示例 一致。 创建Java工程导入相应的包 与 基于XML的入门示例 一致。 添加数据库配置文件 mybatis-configuration.xml 与 基于XML的入门示例 一致。 定义表所对应的实体类 与 基于XML的入门示例 一致。 定义操作 user 表的 阅读全文
posted @ 2022-03-13 15:48 残城碎梦 阅读(38) 评论(0) 推荐(0) 编辑
摘要:本篇博客我们用 mybatis 来对 user 表进行增删改查操作。 创建数据库和表 数据库:mybatisdemo 创建完成后,再向其中插入几条数据即可。 user 表字段如下: 创建Java工程导入相应的包 注意:log4j和Junit不是必须的,但是我们为了查看日志以及便于测试。 pom.xm 阅读全文
posted @ 2022-03-12 18:39 残城碎梦 阅读(129) 评论(0) 推荐(0) 编辑
摘要:什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet” 阅读全文
posted @ 2022-03-12 18:11 残城碎梦 阅读(69) 评论(0) 推荐(0) 编辑
摘要:TypeHandler 基础知识 TypeHandler 引入 Java 领域的持久层框架中,由于 Hibernate 不够灵活,目前使用最多的是 MyBatis 或 Spring-JDBC,这两个框架都可以编写 SQL ,配置数据库表字段和 Java 类字段之间的映射关系。 处理映射关系时,除了考 阅读全文
posted @ 2022-01-07 10:52 残城碎梦 阅读(2006) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示