Mybatis(一)--简介
一.JDBC问题分析:
从之前我们所写到过的jdbc代码或工具类可知:
1).数据库连接创建,释放频繁将造成系统资源浪费从而影响系统性能;
2).SQL语句在代码中硬编码,造成代码不易维护,SQL变动需要改变java代码;
3).执行statement传参时存在硬编码,系统不易维护;
那么是否能减小这样的情况呢,下面开始介绍一种框架Mybatis。

二.Mybatis基本信息:
Mybatis原名iBatis,是一款支持普通SQL语句查询,存储过程和高级映射的优秀持久层框架,其本身内封装了JDBC。Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。Mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和JAVA的普通java对象映射成数据库中的记录。
三.特点:
*简单易学。本身就很小且简单;
*灵活。Mybatis不会对应用程序或数据库的现有设计强加影响。sql语句写在xml里面,便于统一管理和优化。
*提供映射标签,支持对象与数据库的orm字段关系映射;
*解除SQL与程序代码的偶合。通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
*提供对象关系映射标签,支持对象关系组建维护;
*提供xml标签,支持编写动态SQL语句。
四.功能架构:
我们把Mybatis的功能架构分成三层:

*API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理;
*数据处理层:负责具体SQL查找、SQL解析、SQL执行及执行结果映射处理等。主要的目的是根据调用的请求完成一次数据库操作;
*基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
五.Mybatis解决JDBA:
本节刚开始讲到了有关JDBA的问题,那么Mybatis如何解决:
*在 SqlMapConfig.xml (后面会接触此配置文件) 中配置数据链接池,使用连接池管理数据库链接;
*将 Sql 语句配置在 XXXmapper.xml 文件中使其SQL语句与 java 代码分离;
*Mybatis 自动将 java 对象映射至 sql 语句,通过 statement 中的 parameterType 定义输入参数的类型;
*Mybatis 自动将 sql 执行结果映射至 java 对象,通过 statement 中的 resultType 定义输出结果的类型。
Mybatis(一)--简介的更多相关文章
- Unit07: MyBatis框架简介 、 MyBatis基本应用
Unit07: MyBatis框架简介 . MyBatis基本应用 1. myBatis (1)myBatis是什么? 是一个开源的持久层框架. 注:myBatis底层仍然是jdbc. (2)编程步骤 ...
- Java-MyBatis-3.0:MyBatis 3 简介
ylbtech-Java-MyBatis-3.0:MyBatis 3 简介 1.返回顶部 1. 简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程 ...
- MyBatis 示例-简介
简介 为了全面熟悉 MyBatis 的使用,整理一个 MyBatis 的例子,案例中包含了映射器.动态 SQL 的使用.本章先介绍项目结构和配置. 项目地址:链接 数据库表的模型关系:链接 项目结构 ...
- Mybatis的简介+简单实现增删改查案例
@ 目录 总结内容 1. 基本概念 2. Mybatis的使用 需求 配置文件简介 总结 总结内容 1. 基本概念 Mybatis是一款优秀的持久层框架,它支持定制化SQL.存储过程以及高级映射.My ...
- MyBatis原理简介和小试牛刀
在我看来mybatis的原理与hibernate在某些方面是一致的,先回顾一下Hibernate原理(原理主要上是要掌握并理解下列六个对象: Hibernate中重要的六个对象: Configurat ...
- Mybatis架构简介
一.Mybatis与ORM 对象关系映射(即Object Relational Mapping,简称ORM),主要用于关系型数据库和实体之间的映射,主要为了解决对象与关系数据库存在的互不匹配的现象,O ...
- MyBatis框架简介
1.下载地址:下载地址:https://github.com/mybatis/mybatis-3/releases 2.MyBatis是什么? MyBatis 本是apache的一个开源项目iBati ...
- Mybatis Plus简介
集成 MP Mybatis-Plus 的集成非常简单,对于 Spring,我们仅仅需要把 Mybatis 自带的MybatisSqlSessionFactoryBean替换为 MP 自带的即可. &l ...
- MyBatis原理简介
1.什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyB ...
- mybatis 3简介
http://www.mybatis.org/mybatis-3/zh/index.html
随机推荐
- 面试官:小伙子,你能给我说一下HashMap的实现原理吗?
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(他与Hashtable类似,但Hashtable是线程安全的,所以是同步的实现),此实现提供可选的映射操作,允许使用nu ...
- 转化dataframe中一组序列为时间序列的方法-to_datetime()的最新用法
一.to_datetime()的最新用法: hs300_hf['date'] = pd.to_datetime(hs300_hf['date']) hs300_hf.set_index('date', ...
- k8S 搭建集群
k8S 搭建集群1:修改主机名称hostnamectl --static set-hostname masterhostnamectl --static set-hostname node1hostn ...
- yii2.0 curl的使用
yii2 curl的使用办法 get: use linslin\yii2\curl; public function actionCurl($value =0) { $url = 'http://ya ...
- pip更新报错问题
pip更新错误如下: WARNING: You are using pip version 20.1.1; however, version 20.2 is available. You should ...
- Pytest自动化测试 - 完美结合Allure
简介 Allure Framework是一种灵活的.轻量级.多语言测试报告工具. 不仅可以以简洁的网络报告形式非常简洁地显示已测试的内容, 而且还允许参与开发过程的每个人从日常执行中提取最大程度的有用 ...
- java多态2
1 package pet_2; 2 3 public class Pet { 4 private String name; 5 6 public String getName() { 7 retur ...
- 【mq读书笔记】顺序消息
注意异常情况导致整个消费无限重试 阻塞消费 mq支持局部消息顺序消费,可以确保同一个消息消费队列中的消息被顺序消费.看下针对顺序消息在整个消费过程中做的调整: 队列负载: DefaultMQPushC ...
- leetcode_3FizzBuzz的一些思考
题目很简单,给定一个正整数n,如果n能整除3的话往list里加入Fizz,如果n能整除5的话往list里面加入Buzz,如果即能整除3又能整除5的话,加入FizzBuzz,代码也很简单 public ...
- InnoDB 中的缓冲池(Buffer Pool)
本文主要说明 InnoDB Buffer Pool 的内部执行原理,其生效的前提是使用到了索引,如果没有用到索引会进行全表扫描. 结构 在 InnoDB 存储引擎层维护着一个缓冲池,通过其可以避免对磁 ...