MyBatis介绍

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。

总体流程

(1)加载配置并初始化

触发条件:加载配置文件

处理过程:将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。

(2)接收调用请求

触发条件:调用Mybatis提供的API

传入参数:为SQL的ID和传入参数对象

处理过程:将请求传递给下层的请求处理层进行处理。

(3)处理操作请求

触发条件:API接口层传递请求过来

传入参数:为SQL的ID和传入参数对象

处理过程:

(A)根据SQL的ID查找对应的MappedStatement对象。

(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。

(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。

(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。

(E)释放连接资源。

(4)返回处理结果将最终的处理结果返回。

时间: 2024-10-12 15:56:01

MyBatis介绍的相关文章

MyBatis 介绍、简单入门程序

JDBC 编程中的问题 1. 将 SQL 语句硬编码到 Java 代码.不利于系统维护. 设想怎样解决:将SQL单独抽取出来,在配置文件(xml方式.properties文件)进行配置. 2. 数据库连接不能反复利用,对数据库资源是一中浪费. 设想怎样解决:使用数据库连接池管理数据库连接. 3. 向 Statement 设置參数时,对于參数的位置通过硬编码指定,不利于系统维护. 设想怎样解决:是否可以自己主动将 Java 对象的值设置到 Statement. 4. 遍历结果集.resultSet

1. Mybatis介绍

1.    Mybatis介绍 what is mybatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 市场上所用的框架 Hibernate jdbcTemplate ibatis m

SpringMVC的使用和mybatis介绍

本周主要学习了SpringMVC的使用和mybatis介绍 SpringMVC概念: 1.Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架 2.使用了MVC架构模式的思想,将web层进行职责解耦 3.基于请求驱动指的就是使用请求-响应模型 4.框架的目的就是帮助我们简化开发, Spring Web MVC也是要简化我们日常Web开发的. SpringMVC原理: 过程说明: 1.用户向服务器发送请求,请求被Spring 前端控制Serv

mybatis介绍和mybatis快速入门

1.mybatis介绍 mybatis是支持普通sql查询,存储过程和该机映射的持久层(把java对象存储到数据库中)框架.几乎消除jdbc代码和手动设置参数以及对结果集的检索封装.mybatis可以使用映射文件xml,接口dao来操作实体类bean. 2.mybatis快速入门 1.建立数据库表users create database mybatis; use mybatis; CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAM

mybatis介绍与环境搭建

一.不用纯jdbc的原因,即缺点. 1.数据库理解,使用时创建,不用时释放,会对数据库进行频繁的链接开启和关闭,造成数据库的资源浪费,影响数据库的性能.设想:使用数据库的连接池.2.将sql语句硬编码到java代码中,不利于系统维护.设想:将sql放到配置文件中.3.向preparedstatement中设置参数,对占位符位置和设置参数值,硬编码在Java代码中,不利于系统维护.设想:将sql语句及占位符配置到xml中.4.从resultset中便利结果集时,存在硬编码,将获取表的字段进行硬编码

深入浅出MyBatis:JDBC和MyBatis介绍

最近在休陪产假,时间比较零碎,准备看2本书充实下,一本是「深入浅出MyBatis:技术原理与实践」,一本是「RabbitMQ实战:高效部署分布式消息队列」,为了加深记忆和理解,会进行整理.扩展和记录. 看书的目标不是把所有的细节都记住,而是从整体上了解一个技术能做什么,包含的特性.基本模块,实现原理和常见使用场景. 本篇分享MyBatis书籍的第一篇,首先回忆下JDBC的相关概念,了解Java提供的访问数据库最基本的方式,然后介绍下MyBatis的基本特性和核心组件,最后说下书的整体结构,了解后

mybatis介绍——(一)

1.什么是mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进. MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设置参数.结果集检索等jdb

MyBatis(1)-- MyBatis介绍

一.MyBatis优点 不屏蔽SQL,意味着可以更为精确地定位SQL语句,可以对其进行优化和改造,这有利于互联网系统性能的提高,符合互联网需要性能优化的特点. 提供强大.灵活的映射机制,方便Java开发者使用.提供动态SQL的功能,允许我们根据不同条件组装SQL,这个功能远比其他工具或者Java编码的可读性和可维护性高得多,满足各种应用系统的同时也满足了需求经常变化的互联网应用的要求. 在MyBatis中,提供了使用Mapper的接口编程,只要一个接口和一个XML就能创建映射器,进一步简化我们的

Mybatis介绍(一)

MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. MyBatis是支持普通SQL查询,存储过程和高级映射的持久化框架,底层是对JDBC的封装,是一个半自动的ORM框架. MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通