zoukankan      html  css  js  c++  java
  • mybatis知识点总结<一>

    一.  mybatis简介

      

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

    iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)

    很多人都在谈论,一些人认为mybatis不是一个ORM框架,但是在实际中,mybatis的核心是输入映射,输出映射.所以,是一个ORM,确切的说是一个半orm框架.

    二.  原生sql编程存在的一些问题

      

    1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。

    设想:使用数据库连接池管理数据库连接。

    2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。

    设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。

    3、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。

    设想:将sql语句及占位符号和参数全部配置在xml中。

    4、从resutSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,,不利于系统维护。

    设想:将查询的结果集,自动映射成java对象。

    针对以上几个问题,mybatis给予了最好的解释.程序员自己来编写sql,编写接口操作数据库.

    三.  mybatis的三个重要对象

    1  SqlSessionFactoryBuilder

    作用:加载mybatis的全局配置文件--获取会话工厂

    使用范围:作为局部变量使用。相当于工具类

    2  SqlSessionFactory

    作用:生成会话

    使用范围:只存在一份该对象的实例----可以通过单例来维护该对象

    3  SqlSession

    作用:操作API

    使用范围:作为局部变量是使用

  • 相关阅读:
    F. Maximum White Subtree 树形dp*换根
    D
    E
    两圆相交板子
    lucass定理
    高精度求组合数
    康托展开与康托逆展开
    FFT变换
    Codeforces Round #625 Div. 1 Problem C
    E.Multiply Pollard_rho质因数分解
  • 原文地址:https://www.cnblogs.com/yxb9527/p/5947636.html
Copyright © 2011-2022 走看看