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

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

原文地址:https://www.cnblogs.com/yxb9527/p/5947636.html