美文网首页
MyBatis(3)连接池,动态sql,多表操作

MyBatis(3)连接池,动态sql,多表操作

作者: 机智的老刘明同志 | 来源:发表于2020-05-18 00:07 被阅读0次

8.连接池
        8.1 mybatis中的连接池3种配置选项:
        8.2 unpool原理分析:
        8.3 pool原理分析:
        8.4 JDNI介绍:
9.动态sql
        9.1 where  if  foreach 标签:
10.多表操作
        10.1 一对一操作(association):
        10.2 多对多操作(collection):
        10.3 延迟加载:


8.连接池

    8.1 mybatis中的连接池3种配置选项:

        POOLED 采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现
        UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.DataSource接口,但是并没有使用池的思想
        JNDI 采用服务器提供的JNDI技术实现,来获取DataSource对象,不同服务器所能拿到DataSource不一样。

    8.2 unpool原理分析:

        MyBatis 内部分别定义了实现了 java.sql.DataSource 接口的 UnpooledDataSource,PooledDataSource 类来表示 UNPOOLED、POOLED 类型的数据源。

        UnpooledDataSource源码如下

    8.3 pool原理分析:

        MyBatis连接池里面使用集合来放置连接对象.有两个池子,一个空闲池,一个活动池。二者加起来等于是连接池能用的最大连接数。

.

    8.4 JDNI介绍:(扩展)

        JNDI:一种标准的Java命名系统接口(模仿windows注册表,说白了就是把资源取个名字,再根据名字来找资源。)

9.动态sql

        编译时无法确定,只有等到程序运行起来,在执行的过程中才能确定,这种SQL叫做动态SQL。    

    9.1 where  if  foreach 标签

10.多表操作

    10.1 一对一操作(association):

    10.2 多对多操作(collection):

            通过account表中的uid进行关联

        通过中间表account_user进行关联

    10.3 延迟加载

        SqlMapConfig.xml文件中追加配置  

            lazyLoadingEnabled:是否启用延迟加载,默认为false
            aggressiveLazyLoading:是否启用按需加载,默认为true

        collection和assocation中追加标签嵌套查询

            select:对应xml的namespace + sql的id
            column:作为select语句的参数传入

相关文章

  • MyBatis(3)连接池,动态sql,多表操作

    8.连接池 8.1 mybatis中的连接池3种配置选项: 8.2 unpool原理分析: 8.3 pool原理...

  • 【MyBatis】MyBatis动态SQL

    MyBatis动态SQL 前言 在前面,我们已经学习了MyBatis的单表操作以及多表操作,在体验了MyBatis...

  • MyBatis学习:动态sql

    1.动态sql 动态sql是mybatis中的一个核心,什么是动态sql?动态sql即对sql语句进行灵活操作,通...

  • 3.Mybatis-03 Mybatis 连接池与事务深入,My

    主要内容 Mybatis 连接池与事务深入 Mybatis 的动态 SQL 语句 一对一查询(多对一) Mybat...

  • mybatis动态sql

    一 动态sql 1.1 什么是动态sql? mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对...

  • java基础-day49-Myba03

    一、动态SQL【重点】 MyBatis的映射文件中支持在基础SQL上添加一些逻辑操作,并动态拼接成完整的SQL之后...

  • MyBatis动态SQL

    MyBatis 动态SQL 内容 Mybatis动态SQL在XML中支持的几种标签: if chose trim、...

  • 3. MyBatis动态SQL操作

    3.1、 IF语句 修改配置文件deptMapper.xml,添加 修改DeptDaoImpl.java,添加s...

  • 动态sql

    一、动态sql mybatis核心对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 if...

  • MyBatis核心知识点

    (1)Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不? Mybatis动...

网友评论

      本文标题:MyBatis(3)连接池,动态sql,多表操作

      本文链接:https://www.haomeiwen.com/subject/bzimnhtx.html