MyBatis
MyBatis学习笔记以及经验
来日浅谈
天下古今之庸人,皆以一惰字致败。
天下古今之才人,皆以一傲字致败。
展开
-
【SpringBoot】SpringBoot整合mybatis
【SpringBoot】SpringBoot整合mybatis1. 添加依赖2. 添加数据库连接信息3. 实体类Bean4. 编写Mapper5. 配置Mapper映射文件6. 在application.yml中添加mybatis的信息7. 编写Controller8. 测试1. 添加依赖 <dependency> <groupId>mysql</groupId> <artifactId>mys原创 2020-05-10 22:47:13 · 289 阅读 · 0 评论 -
【SSM框架整合】
【SSM框架整合】1. 导入所需依赖2. Spring框架代码3. Spring整合SpringMVC4. Spring整合MyBatis1. 导入所需依赖 <dependencies> <dependency> <groupId>org.aspectj</groupId> &...原创 2020-03-29 17:27:23 · 246 阅读 · 0 评论 -
【MyBatis】Mybatis 注解开发
【MyBatis】Mybatis 注解开发1. 常用的注解说明2. 通过注解实现基本CRUD操作3. 使用注解实现一对多复杂关系映射3.1 复杂关系映射的注解说明3.2 使用注解实现一对一复杂关系映射及延迟加载3.3 使用注解实现一对多复杂关系映射及延迟加载4. 基于注解的二级缓存1. 常用的注解说明@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:...原创 2020-03-18 00:21:48 · 288 阅读 · 0 评论 -
【MyBatis】Mybatis 缓存
【MyBatis】Mybatis 缓存1. 一级缓存1. 同一个SqlSession情况下2. 不同SqlSession情况下3. 刷新缓存4. 一级缓存总结2. 二级缓存2.1 二级缓存的开启和关闭2.2 测试二级缓存缓存的重要性是不言而喻的。 使用缓存, 我们可以避免频繁的与数据库进行交互, 尤其是在查询越多、缓存命中率越高的情况下, 使用缓存对性能的提高更明显。mybatis 也提供了对...原创 2020-03-17 23:48:19 · 183 阅读 · 0 评论 -
【MyBatis】Mybatis 延迟加载
【MyBatis】Mybatis 延迟加载1. 延迟加载简介2. 关联对象加载时机3. 直接加载4. 侵入式延迟加载5. 深度延迟加载6. 延迟加载总结1. 延迟加载简介MyBatis中的延迟加载,也称为懒加载,是指在进行表的关联查询时,按照设置延迟规则推迟对关联对象的select查询。例如在进行一对多查询的时候,只查询出一方,当程序中需要多方的数据时,mybatis再发出sql语句进行查询,...原创 2020-03-17 22:51:51 · 610 阅读 · 0 评论 -
【MyBatis】Mybatis 多表查询(二)多对多
【MyBatis】Mybatis 多表查询(二)多对多需求:实现查询所有对象并且加载它所分配的用户信息。分析:查询角色我们需要用到Role表,但角色分配的用户的信息我们并不能直接找到用户信息,而是要通过中间表(USER_ROLE 表)才能关联到用户信息。案例前提数据库中已经存在user,role表,以及中间表user_role那么我们的sql语句应该是:SELECTr.*,u....原创 2020-03-17 18:13:35 · 211 阅读 · 0 评论 -
【MyBatis】Mybatis 多表查询(一)一对一,一对多
【MyBatis】Mybatis 多表查询(一)一对一,一对多1. 一对一(or 多对一)1.1 第一种方式(通过创建新的实体类包装数据)第二种方式(使用resultMap)2. 一对多首先我将实体类放出来,然后再探讨多表查询:用户User:package com.siyi.domain;import java.io.Serializable;import java.util.Date...原创 2020-03-17 17:39:10 · 413 阅读 · 0 评论 -
【MyBatis】Mybatis 的动态 SQL 语句if,where,foreach,代码片段的定义与引用
【MyBatis】Mybatis 的动态 SQL 语句if,where,foreach,代码片段的定义与引用1. if2. where3. foreach4. 代码片段的定义与引用1. if我们根据实体类的不同取值,使用不同的 SQL 语句来进行查询。比如在 id 如果不为空时可以根据 id 查询,如果 username 不同空时还要加入用户名作为条件。这种情况在我们的多条件组合查询中经常会碰...原创 2020-03-17 15:54:14 · 362 阅读 · 0 评论 -
【MyBatis】Mybatis 连接池与事务控制
【MyBatis】Mybatis 连接池与事务控制1. Mybatis 连接池1.1 Mybatis连接池的分类1.2 Mybatis中数据源的配置1.3 Mybatis中DataSource的存取1.4 Mybatis 中连接的获取过程分析2. Mybatis 事务控制2.1 JDBC事务2.2 Mybatis中事务提交2.3 Mybatis自动提交事务1. Mybatis 连接池1.1 M...原创 2020-03-17 14:41:11 · 402 阅读 · 0 评论 -
【MyBatis】XML配置environments(环境集合属性对象),mappers(映射器)
【MyBatis】XML配置environments(环境集合属性对象),mappers(映射器)1. 配置内容2. environments(环境集合属性对象)事务管理器(transactionManager)数据源(dataSource)数据库厂商标识(databaseIdProvider)3. mappers(映射器)1. 配置内容XML配置中的内容以及顺序SqlMapConfig.x...原创 2020-03-17 11:54:25 · 645 阅读 · 0 评论 -
【MyBatis】XML配置typeHandlers(类型处理器),objectFactory(对象工厂),plugins(插件)
【MyBatis】XML配置typeHandlers(类型处理器),objectFactory(对象工厂),plugins(插件)1. 配置内容2. typeHandlers(类型处理器)3. objectFactory(对象工厂)4. plugins(插件)1. 配置内容XML配置中的内容以及顺序SqlMapConfig.xml :-properties(属性) --property...原创 2020-03-17 10:47:50 · 2493 阅读 · 1 评论 -
【MyBatis】XML配置properties(属性),setting(全局配置参数),typeAliases(类型别名)
【MyBatis】XML配置properties,setting,typeAliases1. 配置内容2. properties(属性)3. settings(全局配置参数)4. typeAliases(类型别名)1. 配置内容XML配置中的内容以及顺序SqlMapConfig.xml :-properties(属性) --property-settings(全局配置参数) --se...原创 2020-03-15 14:52:39 · 1676 阅读 · 0 评论 -
【MyBatis】处理实体类属性和数据库表的列名不一致的情况
【MyBatis】处理实体类属性和数据库表的列名不一致的情况1. 在sql语句中取别名2. resultMap 结果类型当然最简单的情况还是自己去把实体类属性改的和数据库表的列名一样就好了。我们先看看如果不一致会出现什么情况首先我们先弄个案例看看情况:数据中的列名:然后我们在看看当前实体类的情况package com.siyi.domain;import java.io.Seri...原创 2020-03-15 01:22:03 · 786 阅读 · 0 评论 -
【MyBatis】mybatis传统DAO层使用
【MyBatis】mybatis传统DAO层使用持久层接口持久层接口的映射文件持久层接口的实现类测试类其实大概思路是差不多的,所以我直接搬代码了。持久层接口package com.siyi.dao;import com.siyi.domain.User;import java.util.List;/** * 用户持久层接口 */public interface IUSerD...原创 2020-03-15 00:54:05 · 233 阅读 · 0 评论 -
【MyBatis】Mybatis 的parameterType 配置参数以及传递pojo包装对象进行查询
【MyBatis】Mybatis 的parameterType 配置参数以及传递pojo包装对象进行查询parameterType 配置参数传递 pojo 包装对象parameterType 配置参数在实现CRUD操作时,基本类型和String我们可以直接写类型名称, 也可以使用包名.类名的方式 , 例 如:java.lang.String。实体类类型,目前我们只能使用全限定类名。究其原因...原创 2020-03-15 00:47:40 · 1254 阅读 · 0 评论 -
【MyBatis】mabatis的CRUD操作
【MyBatis】mabatis的CRUD操作1. OGNL 表达式2. 增加3. 删除4. 更改5. 查询6. 用户模糊查询6.1 第一种配置方法6.2 第二种配置方式6.3 #{}与${}的区别1. OGNL 表达式它是 apache 提供的一种表达式语言, 全称是:Object Graphic Navigation Language 对象图导航语言。它是按照一定的语法格式来获取数据的。...原创 2020-03-15 00:38:39 · 159 阅读 · 0 评论 -
【MyBatis】实现自定义mybatis
【MyBatis】实现自定义mybatisIUserDaoUserSelectConfigurationMapperResourcesDefaultSqlSessionDefaultSqlSessionFactoryMapperProxySqlSessionSqlSessionFactorySqlSessionFactoryBuilderDataSourceUtilExecutorXMLConfi...原创 2020-03-13 23:33:48 · 398 阅读 · 0 评论 -
【MyBatis】MyBatis基础学习(1)mybatis简介,JDBC原始方法分析,mybatis入门案例
【MyBatis】MyBatis基础学习(1)mybatis简介,JDBC原始方法分析,mybatis入门案例框架简介框架解决的问题1. MyBatis 简介2. JDBC的原始方法分析3. MyBatis快速入门3.1 通过xml文件3.2 通过注解方式框架简介框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发...原创 2020-03-13 22:37:13 · 222 阅读 · 0 评论