• Java后端 学习路线 笔记汇总表【黑马程序员】
  1. MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】【day01】
  2. MyBatis-学习笔记02【02.Mybatis入门案例】
  3. MyBatis-学习笔记03【03.自定义Mybatis框架】
  4. MyBatis-学习笔记04【04.自定义Mybatis框架基于注解开发】【day02】
  5. MyBatis-学习笔记05【05.使用Mybatis完成CRUD】
  6. MyBatis-学习笔记06【06.使用Mybatis完成DAO层的开发】
  7. MyBatis-学习笔记07【07.Mybatis的连接池及事务】【day03】
  8. MyBatis-学习笔记08【08.动态SQL】
  9. MyBatis-学习笔记09【09.Mybatis的多表操作】
  10. MyBatis-学习笔记10【10.JNDI扩展知识】
  11. MyBatis-学习笔记11【11.Mybatis的缓存】【day04】
  12. MyBatis-学习笔记12【12.Mybatis注解开发】

目录

1 mybatis注解开发的环境搭建

2 mybatis注解开发测试和使用注意事项

3 mybatis注解开发保存和更新功能

4 mybatis注解开发CRUD的其他操作

5 mybatis注解建立实体类属性和数据库表中列的对应关系

6 mybatis注解开发一对一的查询配置

7 mybatis注解开发一对多的查询配置

8 mybatis注解开发使用二级缓存


1 mybatis注解开发的环境搭建

1、Mybatis中的延迟加载问题:在一对多中,当我们有一个用户,它有100个账户。在查询用户的时候,要不要把关联的账户查出来?在查询账户的时候,要不要把关联的用户查出来?在查询用户时,用户下的账户信息应该是,什么时候使用,什么时候查询的。在查询账户时,账户的所属用户信息应该是随着账户查询时一起查询出来。什么是延迟加载?在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)什么是立即加载?不管用不用,只要一调用方法,马上发起查询。在对应的四种表关系中:一对多、多对一、一对一、多对多一对多、多对多:通常情况下我们都是采用延迟加载。多对一、一对一:通常情况下我们都是采用立即加载。
2、Mybatis中的缓存什么是缓存:存在于内存中的临时数据。为什么使用缓存:减少和数据库的交互次数,提高执行效率。什么样的数据能使用缓存,什么样的数据不能使用:适用于缓存:经常查询并且不经常改变的。数据的正确与否对最终结果影响不大的。不适用于缓存:经常改变的数据;数据的正确与否对最终结果影响很大的。例如:商品的库存,银行的汇率,股市的牌价。Mybatis中的一级缓存和二级缓存一级缓存:它指的是Mybatis中SqlSession对象的缓存。当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中。该区域的结构是一个Map。当我们再次查询同样的数据,mybatis会先去sqlsession中查询是否有,有的话直接拿出来用。当SqlSession对象消失时,mybatis的一级缓存也就消失了。二级缓存:它指的是Mybatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。二级缓存的使用步骤:第一步:让Mybatis框架支持二级缓存(在SqlMapConfig.xml中配置)第二步:让当前的映射文件支持二级缓存(在IUserDao.xml中配置)第三步:让当前的操作支持二级缓存(在select标签中配置)
3、Mybatis中的注解开发环境搭建单表CRUD操作(代理Dao方式)多表查询操作缓存的配置

环境搭建步骤:

  1. pom.xml
  2. User实体类
  3. IUserDao接口
  4. 使用注解,不再使用映射配置文件IUserDao.xml。
  5. jdbcConfig.properties
  6. SqlMapConfig.xml配置注解

2 mybatis注解开发测试和使用注意事项

3 mybatis注解开发保存和更新功能

4 mybatis注解开发CRUD的其他操作

5 mybatis注解建立实体类属性和数据库表中列的对应关系

 

使用Results注解解决实体类属性与mysql数据表字段不一致的问题。

6 mybatis注解开发一对一的查询配置

 

7 mybatis注解开发一对多的查询配置

 

8 mybatis注解开发使用二级缓存

 

MyBatis-学习笔记12【12.Mybatis注解开发】相关推荐

  1. [MyBatis学习笔记] 二、Mybatis基本操作及相关标签介绍

    [MyBatis学习笔记] 二.Mybatis基本操作及相关标签介绍 一.Mybatis简介 二.简单的CRUD操作 1.构建SqlSessionFactory (1)编辑mybatis-config ...

  2. mybatis学习笔记二(接口注解)

    直接上代码,全部在代码里讲解. 1.实体类 package com.home.entity;/*** 此类是:user实体类* @author hpc* @2017年1月10日下午9:36:59*/ ...

  3. mybatis学习笔记-02-第一个mybatis程序

    该视频为狂神说java视频配套笔记(博主自己手打223,日后做个参考223),b站连接:Mybatis最新完整教程IDEA版[通俗易懂]-02-第一个mybatis程序) 文章目录 2.第一个myba ...

  4. Mybatis学习笔记_5、Mybatis动态SQL

    动态 SQL 是 MyBatis 的强大特性之一.MyBatis提供的对SQL语句动态组装的功能解决了开发人员在使用JDBC或其他的框架进行数据库开发时,需要手动拼装SQL的繁琐问题. 动态SQL元素 ...

  5. Mybatis学习笔记 4:Mybatis 连表查询(一)——一对多关系

    完整代码在这 在查询数据库时,我们经常会遇到多张表联合查询的情况,而Mybatis使连表查询更加简便了,查询出的数据格式非常易于使用,省去了一大部分复杂的代码编写工作,对于关系型数据库来说,数据模型之 ...

  6. Mybatis学习笔记——第一天

    Mybatis学习打卡 Mybatis学习笔记---第一天 Mybatis笔记 第一天 一.引言 1. 现有Jdbc的缺陷 2. Mybatis框架 3. 搭建环境 1) 引入jar包 2) 引入配置 ...

  7. mybatis学习笔记(12)-多对多查询

    mybatis学习笔记12-多对多查询 示例 多对多查询总结 resultMap总结 本文实现多对多查询,查询用户及用户购买商品信息. 示例 查询主表是:用户表 关联表:由于用户和商品没有直接关联,通 ...

  8. 超详细Mybatis学习笔记(可供下载)

    文章目录 1.简介 2.第一个Mybatis程序 搭建环境 编写代码 测试 3.CRUD(增删改查) 3.1.几个属性 3.2.select 3.3.insert 3.4.delete 3.5.upd ...

  9. MyBatis学习笔记(1)—使用篇

    MyBatis学习笔记(1)-使用篇 MyBatis学习笔记(2)-映射关系篇 MyBatis学习笔记(3)-高级映射之一对一映射 Mybatis学习笔记(4)-高级映射之一对多映射 Mybatis学 ...

  10. 【Springboot学习笔记】SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法

    [Springboot学习笔记]SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法 目录 1.搭建环境 1.1直接从网上下载SpringB ...

最新文章

  1. 将磁盘上的一个文本文件的内容复制到另一个文件中
  2. MATLAB在人工智能中的应用案例:以MATLAB的方式玩转自动驾驶(附部分代码)
  3. python抽奖概率设计_辞职转行不如学Python,那些下载安装的坑,你真的都避开了嘛?...
  4. 软件测试——StringFunction测试
  5. char data[0]用法总结
  6. 如何预防后台被攻击?Tomcat 的安全配置来啦!
  7. python学习手册-Python学习手册
  8. docker学习记录 docker 脚本----gitlab,nexus3(二)
  9. 单分支 两路分支和多分支的if结构_程序选择结构
  10. 10页PPT,看懂 SaaS 客户生命周期
  11. Fritzing软件绘制Arduino面包板接线图传感器模块库文件170
  12. 用matlab作gmm参数估计,GMM模型的EM参数估计算法
  13. 数据库--T-SQL创建数据库表
  14. Boost 之 lexical_cast
  15. 资源、角色、用户、岗位的关系(工作中用到的)
  16. 在深信服实习是怎样的体验(研发测试岗)
  17. h3cr4900g3安装系统_H3C R4900 G2服务器通过HDM安装系统
  18. USB输入单节锂电池0.5A充电管理IC,防高压40V保护电路-7号电路板
  19. 分布式系统之道:Lamport 逻辑时钟
  20. 数据预处理:分类和顺序变量转化为数值型数据

热门文章

  1. tcga数据下载_好东西丨零基础入门TCGA
  2. 手机 跑linux,你可曾想过在iOS上跑Linux?
  3. php实例类,php实例-对象与类
  4. oracle查看字典结构体,Oracle-17-数据字典查看约束信息
  5. 使用http连接到microsoft exchange_如何使用 PowerShell 连接 Office 365 服务
  6. php+中午截取,PHP_php字符串截取中文截取2,单字节截取模式,//中文截取2,单字节截取模式 - phpStudy...
  7. 比亚迪汉鸿蒙系统测评_余承东携鸿蒙OS亲自站台,比亚迪汉凭借刀片电池能否对抗Model 3?...
  8. php codecept,Yii2 codecept unit 类找不到
  9. python中sin函数在哪个模块中_从零开始第5步:Python 函数和模块
  10. Android将数据库数据导出成excel格式的文本(CSV)