
Mybatis从入门到精通
文章平均质量分 83
Mybatis从入门到精通
王哲晓
没有高深的知识,没有进阶的技巧,万丈高楼平地起!
展开
-
第十一章 Mybatis之SSM整合
本文通过搭建一个简单的Spring+SpringMVC+Mybatis工程来演示三个框架的整合过程,其中包含一个简单的User作为基础业务。十三、MyBatis映射文件:User。5. 编写Service接口实现类。6. 编写Controller。4. 编写Service接口。3. 编写Mapper接口。原创 2024-10-26 09:23:16 · 704 阅读 · 0 评论 -
第十章 Mybatis之注解开发
实现复杂关系映射之前我们可以在映射文件中通过配置<resultMap>来实现,使用注解开发后,我们可以使用@Results注解,@Result注解,@One注解,@Many注解组合完成复杂关系的配置。MyBatis 注解开发是指在 MyBatis 中使用注解来代替 XML 配置文件的方式,通过。使用注解开发方式,这样我们就可以减少编写Mapper.xml映射文件了。@Results:可以与@Result 一起使用,封装多个结果集。@One:实现一对一结果集封装。2.1. 用户实体类。原创 2024-10-25 21:32:09 · 1601 阅读 · 0 评论 -
第九章 Mybatis多表操作之多对多配置
多对多与多对一的主要区别在于,多对多引入了中间表,通过这张中间表,用户可以查询出自己对应的多个角色,角色也可以查询出自己对应的多个用户,我们只需要在角色实体类里增加对用户的集合列表的引用,RoleMapper.xml按照UserMapper.xml中类似的配置形式,再新增一个查询角色对应的用户接口即可。原创 2024-10-25 13:17:28 · 1295 阅读 · 0 评论 -
第八章 Mybatis多表操作之一对多配置
在上一章节中我们讲到了日常业务场景开发中碰到的一对一查询,其中就提到了关于用户和订单表的例子,一笔订单关联一个用户,那么反过来一个用户其实会对应多笔订单,这就是我们本章要讲解的一对多查询。在MyBatis中,一对多查询也是通过配置映射文件中的来实现的。1. 一个订单只从属于一个用户,但是一个用户有多个订单,用户表id关联多个订单表uid。2. 一对多查询的需求:查询一个用户,与此同时查询出该用户关联的所有订单。原创 2024-10-24 19:54:57 · 456 阅读 · 0 评论 -
第七章 Mybatis多表操作之一对一配置
在我们日常开发中,经常会碰到多表连接查询的业务场景,比如查询某一笔订单(包含所属用户信息),这种我们称之为一对一查询。在MyBatis中,一对一查询通常是通过配置映射文件中的。1. 一个用户有多个订单,一个订单只从属于一个用户,订单表uid关联用户表id。2. 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户。原创 2024-10-23 23:45:05 · 585 阅读 · 0 评论 -
第六章 Mybatis之Plugin插件配置
<plugin></plugin><plugin></plugin><plugin></plugin><plugin>原创 2024-10-23 19:58:09 · 525 阅读 · 0 评论 -
第五章 Mybatis之类型处理器(typeHandler)
我们可以重写类型处理器或创建自己的类型处理器来处理不支持的或非标准的类型。3.1. 具体做法1. 实现org.apache.ibatis.type.TypeHandler接口或继承一个很便利的类org.apache.ibatis.type.BaseTypeHandler2. 选择性地将它映射到一个JDBC类型。3.2. 需求。原创 2024-10-23 19:01:08 · 1131 阅读 · 0 评论 -
第四章 Mybatis之映射文件深入
但是当我们只想查询id和姓名为指定值,密码不作为查询条件的数据时,传入的password则为空,该SQL依然会将password作为条件并匹配值为空的数据。Mybatis 的映射文件中,前面我们的SQL都是比较简单的,有些时候业务逻辑复杂时,我们的SQL是动态变化的,此时在前面的学习中我们的SQL就不能满足要求了。在XML映射文件中,经常会有一些相同的SQL代码造成代码的重复显得冗余且不优雅,Mybatis提供了SQL片段的抽取,使我们能够对重复代码进行提取。原创 2024-10-23 17:35:08 · 291 阅读 · 0 评论 -
第三章 Mybatis的Dao实现方式
采用 Mybatis 的代理开发方式实现DAO层的开发,这种方式是我们后面进入企业的主流。Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao 接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。Mapper 接口开发需要遵循以下规范:1. Mapper.xml文件中的namespace与mapper接口的全限定名相同2. Mapper接口方法名和Mapper.xml中定义的每个statement的id相同。原创 2024-10-23 14:09:58 · 995 阅读 · 1 评论 -
第二章 Mybatis快速入门
MyBatis官网地址:MyBatis开发步骤:① 添加MyBatis的坐标② 创建业务数据表(如User表)③ 编写业务实体类(如User实体类)④ 编写映射文件XXXMapper.xml⑤ 编写核心文件SqlMapConfig.xml⑥ 编写测试类。原创 2024-10-23 10:01:23 · 306 阅读 · 0 评论 -
第一章 初识Mybatis
Mybatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。同时它支持定制化以及高级映射。Mybatis通过xml或注解的方式将要执行的各种Statement配置起来,并通过Java对象和Statement中SQL的动态参数进行映射生成最终执行的sql语句。原创 2024-10-22 22:23:51 · 360 阅读 · 0 评论 -
MybatisPlus扩展功能
一、自动代码生成1.1. Idea安装MybatisPlus代码生成器插件1.2.在插件中配置数据库连接1.3. 在插件中配置代码生成策略1.4. 生成出来的代码原创 2024-10-22 12:16:44 · 1286 阅读 · 0 评论 -
MybatisPlus常用方式
是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。1.1. 支持的数据库如下1.2. 框架结构2.3. 业务实体类@Data2.4. BaseMapper源码2.5. 测试代码@Resource@Testuser.setUsername("王哲晓");@Testuser.setUsername("王哲晓");将id在指定范围的用户(例如1,2,4)的金额改为指定值@Resource。原创 2024-10-21 22:28:56 · 709 阅读 · 0 评论 -
Mybatis缓存机制详解
概述mybatis提供了缓存机制减轻数据库压力,提高数据库性能,其缓存分为两级:一级缓存、二级缓存。一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效;二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的。一级缓存 mybatis的一级缓存是SqlSession级别的缓存,在操作数据库的时候需要先...转载 2019-06-04 09:51:41 · 1977 阅读 · 0 评论 -
Mybatis之Mapper接口及Example实例函数使用详解
声明:本文章部分内容源自于优快云博主biandous的博客文章,在其基础上进行了部分修正和代码修改。一、Mapper接口方法方法 功能说明 int countByExample(UserExample example) throws SQLException 按条件计数 int deleteByPrimaryKey(Integer id) throws SQLE...原创 2018-10-29 13:20:40 · 1250 阅读 · 1 评论