美文网首页
Mybatis 初识

Mybatis 初识

作者: 云师兄 | 来源:发表于2018-11-07 13:39 被阅读11次

Mybatis组件

  • SqlSessionFactoryBuilder: 工厂构造器
  • SqlSessionFactory: 工厂接口,由此生成SqlSession
  • SqlSession: 一个发送sql去执行,也可以获取Mapper的接口
  • Sql Mapper:由接口和xml文件(或是java注解)组成的组件,给出sql和映射关系。


    组件关系

构建SqlSessionFactory

SqlSessionFactory是一个工厂接口,用于创建SqlSession,SqlSession类似于JDBC中的Connection对象。Mybatis提供两个这个接口的实现类:DefaultSqlSessionFactory和SqlSessionManager,一般使用前者。

Mybatis的配置类为Configuration,在Mybatis整个生命周期中存在,其内部保存了从XML文件中解析的配置信息,下面就接着看下如何使用XML形式来进行配置。

使用XML构建

XML配置文件中,主要对数据源DataSource,事务管理器TransactionManager和映射器SQL Mapper三个方面的配置。
下面是个具体的XML配置文件的例子:


配置文件

有了配置文件后,就可以由此创建SqlSessionFactory了:


创建工厂和SqlSession

创建了SqlSessionFactory后就可以接着创建SqlSession对象了。要注意的是用完后记得关闭SqlSession,否则容易耗尽数据库资源,让连接资源还给数据库连接池,和JDBC的Connection原理类似。


SqlSession的使用

映射器Mapper

一个Mapper通常由一个Java接口和XML文件组成。
下面是个具体的例子:

  • 首先定义一个mapper的接口类,外部将基于它进行查询。


    java Mapper接口
  • 其次创建一个映射xml文件,内部包含查询sql,当调用上面接口的方法时,最终执行其中的sql。


    sqlmap.xml
  • 最终的调用mapper完成查询


    基于mapper的查询

    经过上述几步最终完成了一次基于mybatis的简单查询。

Mybatis各组件生命周期

  • SqlSessionFactoryBuilder 目的就是构建工厂,构建完SqlSessionFactory对象后它的作用就结束了,对其回收。
  • SqlSessionFactory的作用就是创建SqlSession,连接并访问一个数据库就只用使用一个SqlSessionFactory就够了,所以是单例的。
  • SqlSession 是一次会话,使用完后应及时关闭。
  • Mapper对应一条SQL的执行,在一个SqlSession事务中使用和销毁。

相关文章

  • Mybatis入门

    目的:入门,熟悉mybatis是什么,怎么用。 1. 初识Mybatis 1.1 Mybatis介绍 MyBati...

  • 初识MyBatis

    MyBatis学习笔记(二) Mapper XML文件配置 SQL映射文件几个的元素 ☆ Select查询语句 1...

  • Mybatis 初识

    1: ORM概念 ORM(OBJECT-RELATIONSHIP MAPPING) 即对象关系映射,他只是一种...

  • 初识MyBatis

    MyBatis学习笔记(一) 1、什么是MyBatis2、安装3、第一个mybatis实例 前言 1、ORM:Ob...

  • 初识MyBatis

    本文目标 掌握MyBatis基础组件及其使用、MyBatis的使用方法 掌握基础组件的生命周期及其实现方法 掌握入...

  • 初识Mybatis

    MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码...

  • 初识Mybatis

    Mybatis是一个持久层的框架 Mybatis让程序员把主要精力放在sql上,通过mybatis的映射方式,自由...

  • 初识MyBatis

    引言 Java互联网应用可以通过mybatis框架访问数据库,使用MyBatis框架主要有一下三个优点: 不屏蔽S...

  • 初识 Mybatis

    Mybatis本是aapache的一个开源项目ibatis 。Mybatis是一个优秀的持久层框架,它对jdbc的...

  • Mybatis 初识

    Mybatis组件 SqlSessionFactoryBuilder: 工厂构造器 SqlSessionFacto...

网友评论

      本文标题:Mybatis 初识

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