MyBatis核心Api

上次简单的写了一个MyBatis的简介以及编写了一个MyBatis的入门程序,但是在入门程序中出现多很多比较陌生的词,比如SqlSessionFactoryBuilder、SqlSessionFactory等,

那这些单词到底代表什么意思呢,本篇文章将为你详细的讲解这些单词的作用

SqlSessionFactoryBuilder

  • SqlSessionFactoryBuilder用于创建SqlSessionFacoty
  • SqlSessionFacoty一旦创建完成就不需要SqlSessionFactoryBuilder了
  • 因为SqlSession是通过SqlSessionFactory创建的
  • 所以可以将SqlSessionFactoryBuilder当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量。

SqlSessionFactory

  • 创建sqlSession的工厂,是一个接口
  • 接口中定义了openSession的不同重载方法
  • SqlSessionFactory的最佳使用范围是整个应用运行期间,一旦创建后可以重复使用,通常以单例模式管理SqlSessionFactory。

SqlSession

  • 连接到数据库的一个会话。
  • sqlSession中定义了数据库操作方法。
  • 每个线程都应该有它自己的SqlSession实例
  • SqlSession的实例不能共享使用,它也是线程不安全的。因此最佳的范围是请求或方法范围
  • 绝对不能将SqlSession实例的引用放在一个类的静态字段或实例字段中。

MyBatis架构:

MyBatis的核心API的更多相关文章

  1. 支持GPS的核心API

    Android为GPS功能支持专门提供了一个LocationManager类,它的作用于TelephonyManager.AudioManager等服务类的作用相似,所有GPS定位相关的服务.对象都将 ...

  2. hibernate系列笔记(2)---Hibernate的核心API

    Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...

  3. APP自动化框架LazyAndroid使用手册(3)--核心API介绍

    作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...

  4. SDL 开发实战(二):SDL 2.0 核心 API 解析

    在上一篇文章 SDL 开发实战(一):SDL介绍及开发环境配置 中,我们配置好了SDL的开发环境,并成功运行了SDL的Hello World 代码.但是可能大部分人还是读不太明白具体Hello Wol ...

  5. Spark2.0学习(三)--------核心API

    Spark核心API----------------- [SparkContext] 连接到spark集群,入口点. [HadoopRDD] 读取hadoop上的数据, [MapPartitionsR ...

  6. 《Node.js高级编程》之Node 核心API基础

    Node 核心API基础 第三章 加载模块 第四章 应用缓冲区 第五章 事件发射器模式简化事件绑定 第六章 使用定时器制定函数执行计划 第三章 加载模块 本章提要 加载模块 创建模块 使用node_m ...

  7. hibernate框架(2)---Hibernate的核心API

    Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...

  8. hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等

    核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Conf ...

  9. MyBatis的核心配置、动态sql、关联映射(快速总结)

    MyBatis的核心对象和配置 #1. SqlSessionFactory对象: 单个数据库映射关系经过编译的内存镜像: 作用:创建SQLSession对象. //读取配置文件 InputSteam ...

随机推荐

  1. Kotlin -help

    { kotlin: run Kotlin programs, scripts or REPL. Usage: kotlin <options> <command> <ar ...

  2. 01退背包——bzoj2287

    退背包就是限制某一件物品不可取的方案数 先做出无限制的方案数,然后对于当前不可取的物品,dp2[j]表示不取改物品情况下,取得体积为j的方案数 有状态方程 dp2[j]=dp1[j]-dp2[j-w[ ...

  3. Python sorted list的实现

    Python sorted list的实现 具体思路是用二分保list有序+插入 class SortedList(list): K = -1 def __init__(self, K=-1): li ...

  4. MPU-6000 与 MPU-6050

    VLOGIC 是什么呢?

  5. CentOS7 相关配置

    nginx 1.在线安装nginx yum install nginx 2.启动nginx服务 systemctl start nginx 3.防火墙设置 打开http防火墙:firewall-cmd ...

  6. Elasticsearch 搭建

    最近需要用到Elasticsearch.下面简单介绍下Elasticsearch的搭建过程: ElasticSearch 使用java编写, 所以需要安装 Java 6以上 环境来运行. 并且确保设置 ...

  7. jpa简单规则(转https://www.cnblogs.com/rulian/p/6434631.html)

    一.常用规则速查 1  And 并且2  Or  或3  Is,Equals 等于4  Between  两者之间5  LessThan 小于6  LessThanEqual   小于等于7  Gre ...

  8. javascript es6 语法快速入门

    1. let.const 作用:let 声明变量,const 声明常量 与 var 的区别:不能重复声明,且存在块级作用域,即只在代码块内生效 2. 箭头函数 使用: let show = funct ...

  9. json对象数组的创建、遍历、添加、删除、修改、js的splice()用法

    本文链接:https://blog.csdn.net/houfengfei668/article/details/79843625 )第二种方式:手动构造json对象数组 )for )用splice方 ...

  10. 【POJ】1860 Currency Exchange

    真是气skr人..没把d[]换成double...de了一上午的bug// 记得用G++提交啊 题目链接:http://poj.org/problem?id=1860 题意:告诉你n个点,m条路.起始 ...