Mybatis第三天

  • Mybatis中使用unpooled配置连接池原理分析
  • Mybatis中使用pooled配置连接的原理分析
  • Mybatis中的事务原理和自动提交设置
  • Mybatis中的动态sql语句
    • if标签
    • where标签
    • foreach标签
  • sql标签,用于抽取重复的语句
  • 第三章 Mybatis的多表关联查询
  • 一对多查询
  • 多对多
    • 用户实体类
    • 角色实体类
      • 角色的单表操作
    • 获取角色下的所有用户信息
      • 多个表之间的关联
  • 从一个用户到多个角色

今天内容很重要

把Mybatis里面的几个重要标签再解释一下

1、Mybatis中的配置类主要分为两大类,一类是主配置类,也仅有一个,在resource目录下面。一类是映射配置类,有多少个Dao接口,就有多少个映射配置类,在resource目录下面,包结构和Dao接口的包结构相同。在主配置类中用mapper标签来指明配置类的位置

2、映射配置类中mapper标签的namespace属性和select标签中的id属性是配合起来的,主要就是确定dao接口中方法的具体位置。

3、resultMap标签主要用于解决实体类属性和数据库列名不一致问题,其中id属性是resultMap的唯一标志,type属性是下面标签的返回值类型,相当于select标签中的resultType属性。
resultMap标签里面只有一个id子标签,其他都是result子标签,还有一个collection标签,这是集合属性的,用于一对多的。里面有个property属性,就是这个集合的名字,ofType属性就是这个集合里面元素的类型,集合里面元素的类型是role,role也是一个实体类。

4、还有一个最重要的typeAlias标签和里面的package标签:在主配置文件里面设置,作用是让所有映射文件中的全限类名都可以用最后的类名,这样简单些,package标签还可以用在mapper标签里面,这样mapper标签里面映射文件的位置就不需要写classes属性和resource属性了,超级方便

Mybatis中使用unpooled配置连接池原理分析

使用pool连接池查询所有时的打印信息

Mybatis中使用pooled配置连接的原理分析


池子分为 空闲池 和 活跃池
空闲池中就是还没用到的连接对象
活跃池中就是正在用的连接对象

f

Mybatis中的事务原理和自动提交设置

Mybatis中的动态sql语句

if标签

where标签


上图中老是写where 1=1 感觉太low 了,有没有办法避免呢? 肯定啊
就是where标签 加上一个where标签就可以不用写where 1=1了

foreach标签

sql标签,用于抽取重复的语句

第三章 Mybatis的多表关联查询



一对多查询

一对多查询,根据用户,查询所有的账户信息

所以要在用户类里面添加一个Account的List集合

多对多

用户实体类

角色实体类

角色的单表操作

测试类中

获取角色下的所有用户信息

多个表之间的关联

从一个用户到多个角色


进行测试

Mybatis第三天动态Sql语句、XML中一对多、多对一、多对多该怎么写相关推荐

  1. Java神鬼莫测之MyBatis注解开发之动态SQL语句(六)

    1.Mybatis注解开发之动态SQL语句 背景:使用mybatis的注解开发动态Sql会比较麻烦, 很不方便, 所以不太推荐使用,该文章以查询作为案例,演示动态sql语句. 注意:Mybatis的动 ...

  2. MyBatis学习 之 三、动态SQL语句

    2019独角兽企业重金招聘Python工程师标准>>> 有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的, ...

  3. Mybatis(三)动态SQL

    Mybatis动态SQL Mybatis的强大特征之一就是动态SQL.Mybatis采用功能强大的基于OGNL表达式来淘汰其他大部分元素.使用mybatis提供的各种标签方法实现动态拼接sql.动态传 ...

  4. Mybatis(13)动态sql语句if/where/foreach

    创建项目day03_eesy_02dynamicSQL,复制Mybatis(12)中项目day03_eesy_01datasourceAndTx if标签的使用,针对查询 1.更改IUseDao接口 ...

  5. mybatis动态SQL语句

    三.动态SQL语句 有些时候,sql语句where条件中,需要一些安全判断,例如按性别检索,如果传入的参数是空的,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息.这是我们可以使 ...

  6. oracle 带有变量的语句_Oracle 动态SQL语句(2)之含变量的WHERE语句与日期变量

    在 Oracle 动态SQL语句(1)中提到基本动态SQL语句书写,但在写动态SQL语句时特别要注意日期型变量和WHERE语句的编写. 如下代码: 1.注意在执行动态SQL语句时,execute im ...

  7. 02JavaWeb之MyBatis详解、SqlSession执行、mapper代理执行、动态SQL语句、注解开发、resultMap、resultType、多参数传递

    MyBatis MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发,它封装了JDBC大部分的操作. MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由 ...

  8. 动态SQL语句--mybatis

    转自:http://www.blogjava.net/Steven-bot/articles/363460.html 动态SQL语句--mybatis 动态SQL语句         有些时候,sql ...

  9. Mybatis Plus 是如何实现动态 SQL 语句的?原理你懂吗?

    作者 | 稻草江南 来源 | https://juejin.cn/post/6883081187103866894 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,那么它是怎么 ...

最新文章

  1. 进程、线程、多线程相关总结
  2. salesforce 零基础学习(四十二)简单文件上传下载
  3. c语言 extern_Visual C++ 6.0环境中C语言extern 变量使用过程报错
  4. [安卓] 19、一个蓝牙4.0安卓DEMO
  5. 7.3图的遍历(广度优先)-理论
  6. jqueryAjax的使用
  7. 第五章节 类的继承(继承的概述)
  8. python开发工具和框架安装器_Python基础框架和工具
  9. 深度学习2.0-34.ResNet 与 DenseNet
  10. UGUI 在面板经常使用的表格布局制作
  11. CPU的实模式和保护模式
  12. Windows系统下查询本机IP地址和MAC地址
  13. ARM920T(S3C2440)的中断系统
  14. 天龙八部,数据可视化分析虚竹和童姥居然关系非同一般
  15. 计算机电子电路原理图,简易电子琴设计电路图大全(八款模拟电路设计原理图详解) - 消费类电子电路图...
  16. 替代满足、稀缺冲动、从众效应、思考快与慢就不怕退货吗?
  17. vscode Trace/breakpoint trap 问题
  18. [渝粤教育] 西南科技大学 建筑工程定额与预算 在线考试复习资料2021版(2)
  19. python实现字符串逆序
  20. HTML的table表格实现静态网页个人简历!!!

热门文章

  1. 个人理财第八课-指数基金长期上涨趋势
  2. 网络基础路由器交换机防火墙常见命令
  3. 牛客网c语言刷题130,开篇入门刷题,战胜对编程的恐惧,适合初学者食用。
  4. Windows程序设计--画笔和画刷
  5. 写磁盘与缓存的两种方式
  6. disrupt 原理_Disrupt Tech Recruiting II-所以您想要Ari Gold?
  7. 人工智能在采购中的应用有哪些?
  8. 通过GitHub API下载Repository源码Zip文件的方法
  9. 某种产品中,合格品率为85%,一个合格品被检查成次品的概率是10%,一个次品被检查成合格品的概率为5%,问题:求一个被检查成合格品的产品确实为合格品的概率()?
  10. GeoServer中使用WFS进行条件查询