MyBatis
文章平均质量分 69
MyBatis学习记录
程序员阿红
博客纯属记录自己的学习过程,如果能帮上你实属荣幸,可以的话,留个关注,比心。
展开
-
MyBatis学习汇总
MyBatis学习汇总01.MyBatis框架介绍02.MyBatis快速入门03.MyBatis核心配置文件04.MyBatis的核心API概述05.MyBatis的基本原理介绍06.MyBatis的dao层开发07.MyBatis配置文件深入08.MyBatis动态sql09.MyBatis整合PageHelper实现分页功能10.MyBatis的多表查询11.MyBatis的嵌套查询12.MaBatis加载策略13.MyBa原创 2022-03-29 17:01:13 · 725 阅读 · 1 评论 -
15.使用MyBatis注解实现复杂映射查询数据
15.使用注解实现复杂映射查询数据1.使用注解实现复杂映射开发之前我们在映射文件中通过配置 、、 来实现复杂关系映射。使用注解开发后,我们可以使用 @Results、@Result,@One、@Many 注解组合完成复杂关系的配置。下图为注解重点,请记住:1.1一对一查询—两表查询需求:查询一个订单,与此同时查询出该订单所属的用户一对一查询语句://嵌套查询SELECT * FROM orders;SELECT * FROM `user` WHERE id =原创 2022-02-27 00:15:00 · 914 阅读 · 0 评论 -
14. 使用MyBatis注解配置SQL
14. 使用MyBatis注解配置SQL1.MyBatis常用注解@Insert:实现新增,代替了@Delete:实现删除,代替了@Update:实现更新,代替了@Select:实现查询,代替了@Result:实现结果集封装,代替了@Results:可以与@Result 一起使用,封装多个结果集,代替了@One:实现一对一结果集封装,代替了@Many:实现一对多结果集封装,代替了2.项目结构和核心配置使用注解开发摒弃了传统的xml映射文件,而是在接原创 2022-02-26 13:01:18 · 3589 阅读 · 0 评论 -
13.MyBatis缓存机制
13.MyBatis缓存机制1. 为什么使用缓存?当用户频繁查询某些固定的数据时,第一次将这些数据从数据库中查询出来,保存在缓存中。当用户再次查询这些数据时,不用再通过数据库查询,而是去缓存里面查询。减少网络连接和数据库查询带来的损耗,从而提高我们的查询效率,减少高并发访问带来的系统性能问题。一句话概括:经常查询一些不经常发生变化的数据,使用缓存来提高查询效率。像大多数的持久化框架一样,Mybatis也提供了缓存策略,通过缓存策略来减少数据库的查询次数,从而提高性能。 Mybatis中缓存分为一级缓原创 2022-02-25 08:33:08 · 769 阅读 · 0 评论 -
12.MaBatis加载策略
12.MaBatis加载策略1.什么是延迟加载Mybatis中一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询。实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的订单信息。此时就是我们所说的延迟加载。例如:问题1:在一对多中,当我们有一个用户,它有个100个订单在查询用户的时候,要不要把关联的订单查出来?回答:在查询用户时,用户下的订单应该是,什么时候用,什么时候查询。(一对多)**问题2:**在查询订单的时候,要不要把关联的用户查出来?在查询订单时,订原创 2022-02-24 13:55:21 · 237 阅读 · 0 评论 -
11.MyBatis的嵌套查询
11.MyBatis的嵌套查询1.什么事嵌套查询嵌套查询就是将原来多表查询中的联合查询语句拆成单个表的查询,再使用mybatis的语法嵌套在一起。例子:* 需求:查询一个订单,与此同时查询出该订单所属的用户1. 联合查询SELECT * FROM orders o LEFT JOIN USER u ON o.`uid`=u.`id`;2. 嵌套查询2.1 先查询订单SELECT * FROM orders2.2 再根据订单uid外键,查询用户SELECT * FROM `user原创 2022-02-24 08:30:00 · 9227 阅读 · 1 评论 -
10.MyBatis的多表查询
10.MyBatis的多表查询关系型数据库表关系分为* 一对一* 一对多* 多对多举例人和身份证号就是一对一一个人只能有一个身份证号一个身份证号只能属于一个人用户和订单就是一对多,订单和用户就是多对一一个用户可以下多个订单多个订单属于同一个用户学生和课程就是多对多一个学生可以选修多门课程一个课程可以被多个学生选修特例一个订单只从属于一个用户,所以mybatis将多对一看成了一对一1.一对一关联查询一对一查询模型用户表和订单表的关系为,一个用户有多个订单,一个订单原创 2022-02-23 09:12:12 · 901 阅读 · 0 评论 -
09.MyBatis整合PageHelper实现分页功能
09.MyBatis整合PageHelper实现分页功能MyBatis可以使用第三方的插件来对功能进行扩展,分页组手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据。开发步骤:导入通用的PageHelper依赖在MyBatis核心配置文件中配置PageHelper插件测试分页数据的获取1.导入通用的PageHelper依赖 <!-- 分页助手 --> <dependency> <原创 2022-02-22 11:18:33 · 1089 阅读 · 0 评论 -
08.MyBatis动态sql
08.MyBatis动态sql应用场景当我们要根据不同的条件,来执行不同的sql语句的时候,需要用到动态sql。1. 动态 SQL 之 if需求根据id和username查询,但是不确定两个都有值。UserMapper接口public List<User> findByIdAndUsernameIf(User user);UserMapper.xml映射 <!-- 动态sql之if : 多条件查询--> <select id="f原创 2022-02-22 08:00:00 · 718 阅读 · 0 评论 -
07.MyBatis配置文件深入
07.MyBatis配置文件深入1.ResutlMap属性作用:建立对象关系映射。resultTyp和resultMap的区别:resultMap:可以防止实体属性与数据库字段不一致时,重新绑定实体属性和数据库字段,从而将查询结果手动封装到实体类中。ResultMap:如果实体属性名与表中字段名一致,将查询结果自动封装到实体类中。(1)) 编写UserMapper接口public interface UserMapper { public List<User>原创 2022-02-21 10:49:38 · 771 阅读 · 0 评论 -
06.MyBatis的dao层开发
06.MyBatis的dao层开发1.传统开发方式编写UserMapper接口编写UserMapper实现类编写UserMapper.xml传统方式问题思考:实现类中,如果方法过多,存在mybatis模板代码重复。 // 1.加载MyBatis核心配置文件 InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");// 2.创建s原创 2022-02-19 16:58:37 · 355 阅读 · 0 评论 -
05.MyBatis的基本原理介绍
05.MyBatis的基本原理介绍1.MyBatis执行步骤:// 1.加载核心配置文件 InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");// 2.创建SqlSessionFactory工厂 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(原创 2022-02-18 16:28:37 · 194 阅读 · 0 评论 -
04.MyBatis的API概述
04.MyBatis的API概述1.SqlSession工厂构建器SqlSessionBuild常用API:SqlSessionFactory build(InputStream inputStream)通过加载mybatis的核心文件的输入流的形式构建一个SqlSessionFactory对象String resource = "org/mybatis/builder/mybatis-config.xml";InputStream inputStream = Resources.getR原创 2022-02-19 00:15:00 · 328 阅读 · 0 评论 -
03.MyBatis核心配置文件
03.MyBatis核心配置文件1. MyBatis核心配置文件层级关系Mybatis的配置文件,深深影响了MyBatis行为的设置和属性。配置文档的顶层结构如下:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e32GRhpl-1645166632633)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220218131318204.png)]注意:配置原创 2022-02-18 14:44:54 · 605 阅读 · 0 评论 -
02.MyBatis快速入门
02.MyBatis快速入门案例需求:通过mybatis查询数据库user表的所有记录,封装到User对象中,打印到控制台上1.步骤分析:创建数据库及user表创建maven工程,导入依赖(MySQL驱动、mybatis、junit)编写User实体类编写UserMapper.xml映射配置文件(ORM思想)编写SqlMapConfig.xml核心配置文件数据库环境配置映射关系配置的引入(引入映射配置文件的路径)编写测试代码2.实现过程2.1创建数据库CREATE DATABA原创 2022-02-18 00:13:17 · 431 阅读 · 0 评论 -
01.MyBatis框架介绍
01.MyBatis框架介绍1.三层架构软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分。一般包括以下三层:持久层:主要完成与数据库相关的操作,即对数据库的增删改查。因为数据库访问的对象一般称为Data Access Object(简称DAO),所以有人把持久层叫做DAO层。业务层:主要根据功能需求完成业务逻辑的定义和实现。因为它主要是为上层提供服务的,所以有人把业务层叫做Service层或Business层。表现层:主要完成与最终软件使用用户的交互,需要有交互界面(UI)。因此原创 2022-02-17 14:54:56 · 412 阅读 · 0 评论