一.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(一)--简介的更多相关文章

  1. Unit07: MyBatis框架简介 、 MyBatis基本应用

    Unit07: MyBatis框架简介 . MyBatis基本应用 1. myBatis (1)myBatis是什么? 是一个开源的持久层框架. 注:myBatis底层仍然是jdbc. (2)编程步骤 ...

  2. Java-MyBatis-3.0:MyBatis 3 简介

    ylbtech-Java-MyBatis-3.0:MyBatis 3 简介 1.返回顶部 1. 简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程 ...

  3. MyBatis 示例-简介

    简介 为了全面熟悉 MyBatis 的使用,整理一个 MyBatis 的例子,案例中包含了映射器.动态 SQL 的使用.本章先介绍项目结构和配置. 项目地址:链接 数据库表的模型关系:链接 项目结构 ...

  4. Mybatis的简介+简单实现增删改查案例

    @ 目录 总结内容 1. 基本概念 2. Mybatis的使用 需求 配置文件简介 总结 总结内容 1. 基本概念 Mybatis是一款优秀的持久层框架,它支持定制化SQL.存储过程以及高级映射.My ...

  5. MyBatis原理简介和小试牛刀

    在我看来mybatis的原理与hibernate在某些方面是一致的,先回顾一下Hibernate原理(原理主要上是要掌握并理解下列六个对象: Hibernate中重要的六个对象: Configurat ...

  6. Mybatis架构简介

    一.Mybatis与ORM 对象关系映射(即Object Relational Mapping,简称ORM),主要用于关系型数据库和实体之间的映射,主要为了解决对象与关系数据库存在的互不匹配的现象,O ...

  7. MyBatis框架简介

    1.下载地址:下载地址:https://github.com/mybatis/mybatis-3/releases 2.MyBatis是什么? MyBatis 本是apache的一个开源项目iBati ...

  8. Mybatis Plus简介

    集成 MP Mybatis-Plus 的集成非常简单,对于 Spring,我们仅仅需要把 Mybatis 自带的MybatisSqlSessionFactoryBean替换为 MP 自带的即可. &l ...

  9. MyBatis原理简介

    1.什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyB ...

  10. mybatis 3简介

    http://www.mybatis.org/mybatis-3/zh/index.html

随机推荐

  1. 思维导图软件iMindMap怎么使用

    人人都说,思维导图记忆法实用.可是,我们应该如何使用思维导图呢?又该如何从思维小白摇身一变成为逻辑大神呢?俗话说,心急吃不了热豆腐,让我们一步一步来,慢慢接触使用思维导图吧. 小编作为"过来 ...

  2. FL studio系列教程(十六):FL Studio查看菜单讲解

    FL Studio中每个窗口的显示.隐藏和布局命令都在查看菜单中.其中它被分为窗口.布局和浏览器3个部分,各项名称都有其单独的作用.窗口部分主要是软件的显示的一些菜单这里就不详细讲解了,接下来我们重点 ...

  3. 牛逼哄哄的PageHelper分页插件到底是怎么实现的?网友:给我10分钟,给你写一个~

    Hi,各位读者们 PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美. ...

  4. keras中seq2seq实现

    这里只是简单的一个例子 输入序列 目标序列 [13, 28, 18, 7, 9, 5] [18, 28, 13] [29, 44, 38, 15, 26, 22] [38, 44, 29] [27, ...

  5. 记XShell无法连接虚拟机中的Linux,但Linux系统中可以连接外网。

    如题. 原本设置如下: 本地机IP 为192.168.43.XXX VMWare中"虚拟机网络编辑器"中子网设置为192.168.39.0. 虚拟机中IP为192.168.39.1 ...

  6. Java基础教程——运算符

    运算符 算术运算符 加 减 乘 除 取余 自加 自减 + - * / % ++ -- public class 算术运算符 { public static void main(String[] arg ...

  7. 一篇文章彻底搞懂Java的大Class到底是什么

    作者在之前工作中,面试过很多求职者,发现有很多面试者对Java的 Class 搞不明白,理解的不到位,一知半解,一到用的时候,就不太会用. 因为自己本身以前刚学安卓的时候,甚至做安卓2,3年后,也是对 ...

  8. django项目运行步骤

    第一步: 创建gjango项目 django-admin startproject dname python manage.py startapps aname 第二部: 运行 -- 编辑设置 -- ...

  9. C#中的WinForm问题——如何设置窗体的大小为超过屏幕显示的最大尺寸?

    今天在学习C#时遇到了一个问题,在此记录下来,留作日后总结复习之用,也分享给有同样问题和困扰的园友. 我手上的电脑是笔记本电脑,屏幕的尺寸大小为1366*768,然而项目所使用的屏幕大小为1920*1 ...

  10. Spring Boot系列 八、集成Kafka

    一.引入依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId> ...