• Mybatis基础


    1   Mybatis简介

            一个基于Java的持久层框架,优势在于灵活,几乎可以代替JDBC,同时提供了接口编程。目前Mybatis的数据访问层DAO是不需要实现类的,只需要一个接口和XML(或者注解)。Mybatis提供自动映射、动态SQL、级联、缓存、注解、代码和SQL分离等特性,使用方便,同时也可以对SQL进行优化。

    2   优势

            封装少、映射多样化、支持存储过程、可以进行SQL优化等。

    3   核心组件

      ·SqlSessionFactoryBuilder(构造器):根据配置或者代码来生成SqlSessionFactory,采用分步构建的Builder模式;

      ·SqlSessionFactory(工厂接口):依靠它来生成SqlSession,使用工产模式;

      ·SqlSession(会话):一个既可以发送SQL执行返回结果,也可以获取Mapper的接口。

      ·SQL Mapper(映射器):由一个Java接口和XML文件(或注解)构成,需要给出对应的SQL和映射规则。它负责发送SQL去执行,并返回结果。

    3.1  SqlSessionFactoryBuilder(构造器)

       使用Mybatis首先是使用配置或者代码去生成SqlSessionFactory,而Mybatis提供了构造器SqlSessionFactoryBuilder。它提供了一个类org.apache.ibatis.session.Configuration作为引导,采用的是Builder模式。具体的分步则是在Configuration类里面完成的,不需要另外编写。

    3.2  SqlSessionFactory(工厂接口)

      在Mybatis中既可以通过配置的XML文件的形式生成SqlSessionFactory,也可以通过Java代码的形式去生成。为简便开发,建议使用XML的形式。当配置了XML或者提供代码之后,Mybatis会读取配置文件,通过Configuration类对象构建整个Mybatis的上下文。

      每个基于Mybatis的应用都是以一个SqlSessionFactory的实例为中心的,而SqlSessionFactory唯一的作用就是生成Mybatis的核心接口对象SqlSession。下面只讨论使用配置文件生成SqlSessionFactory的方法。

    3.2.1  使用XML构建SqlSessionFactory

      在Mybatis中XML分为两类:一类是基础配置文件,通常只有一个,主要是配置一些最基本的上下文参数和运行环境;另一类是映射文件,它可以配置映射关系、SQL、参数等信息。

      先看简易的配置文件(mybatis-config.xml):

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <! DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
     3 <configuration>
     4     <typeAliases><!-- 别名 -->
     5         <typeAlias  alias="role" type="com.learn.mybatis.pojo.Role"/>
     6     </typeAliases>
     7     <!-- 数据库环境 -->
     8     <environments default="development">
     9         <environment id="development">
    10             <transactionManager type="JDBC"/>
    11             <dataSource type="POOLED">
    12                 <property name="driver" value="com.mysql.jdbc.Driver"/>
    13                 <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
    14                 <property name="username" value="root"/>
    15                 <property name="password" value="root"/>
    16             </dataSource>
    17         </environment>
    18     </environments>
    19     <!-- 映射文件 -->
    20     <mappers>
    21         <mapper resource="com/learn/mybatis/mapper/RoleMapper.xml"/>
    22     </mappers>
    23 </configuration>

      有了基础配置文件,就可以通过一段很简短的代码来生成SqlSessionFactory了,代码如下:

    1 SqlSessionFactory sqlSessionFactory = null;
    2 String resource = "mybatis-config.xml";
    3 InputStream inputStream;
    4 try {
    5      inputStream = Resource.getResourceAsStream(resource);
    6      sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream)  ;
    7 } catch(IOException e) {
    8      e.printStackTrace();
    9 }

      首先读取Mybatis-config.xml,然后通过SqlSessionFactoryBuilder的Build方法去创建SqlSessionFactory。

  • 相关阅读:
    Linux进程相关的一些笔记
    [Project Euler] 来做欧拉项目练习题吧: 题目007
    [Project Euler] 来做欧拉项目练习题吧: 题目015
    [Project Euler] 来做欧拉项目练习题吧: 题目009
    [Project Euler] 来做欧拉项目练习题吧: 题目017
    [Project Euler] 来做欧拉项目练习题吧: 题目014
    [Project Euler] 来做欧拉项目练习题吧: 题目013
    [Project Euler] 来做欧拉项目练习题吧: 题目006
    [Project Euler] 来做欧拉项目练习题吧: 题目008
    [Project Euler] 来做欧拉项目练习题吧: 题目012
  • 原文地址:https://www.cnblogs.com/af-blogs/p/9285824.html
Copyright © 2020-2023  润新知