当前位置:首页 » 存储配置 » ibatis的存储过程

ibatis的存储过程

发布时间: 2025-03-08 06:20:33

java框架MyBatis工作流程是怎样的

一、Mybatis介绍


MyBatis是一款一流的支持自定义sql存储过程和高级映射的持久化框架。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果。MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素、Map接口和POJOs(普通java对 象)到数据库中的记录。


二、MyBatis工作流程


(1)加载配置并初始化


触发条件:加载配置文件


配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将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)返回处理结果将最终的处理结果返回。


orm工具的基本思想


无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:


从配置文件(通常是XML配置文件中)得到 sessionfactory.


由sessionfactory 产生 session


在session 中完成对数据的增删改查和事务提交等.


在用完之后关闭session 。


在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。


功能架构

⑵ ibatis 存储过程的 查询

queryForList返回的是List,queryForObject返回的是Object;
to LS:ibatis可以调用存储过程。

⑶ 请教一下iBatis中怎么写 set @a:=0;select @a:=@a+1 from table这种形式的语句

是存储过程,以下是mysql查询时带行号的结果,供你参考:

SELECTtemp.*FROM(SELECT(@rowNum:=@rowNum+1)ASrow_no,t.*FROMtaskt,(SELECT(@rowNum:=0))bWHEREt.is_start=1ORDERBYt.execute_timeASC,t.create_timeASC)tempWHEREtemp.seller_id=384652432

⑷ 什么是mybatis 为什么要使用my batis

1、定义
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。

2、使用原因
MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

3、总体流程
(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)返回处理结果将最终的处理结果返回。

⑸ mybatis和ibatis的区别

1、基本信息不同

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

MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

ibatis:iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。

iBATIS 目前提供了三种语言实现的版本,包括:Java、.NET以及Ruby。

2、开发时间不同

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

ibatis:iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。

3、配置方法不同

mybatis简化了编码的过程,不需要去写的实现类,直接写一个的接口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后在service里面直接调用就可以了,但是ibatis则不可以,必须要写的实现类。mybatis是ibatis的升级版本。

热点内容
视频服务器搭建海康 发布:2025-04-30 23:50:29 浏览:95
xp共享怎么设置密码 发布:2025-04-30 23:50:24 浏览:160
租用电脑主机搭建服务器 发布:2025-04-30 23:28:06 浏览:733
php子类调用父类方法 发布:2025-04-30 23:11:55 浏览:678
存档加密id 发布:2025-04-30 22:20:50 浏览:748
mac搭建php环境 发布:2025-04-30 21:58:13 浏览:141
雅迪电动车配置有哪些 发布:2025-04-30 21:38:27 浏览:160
为什么用文件存储取代mysql 发布:2025-04-30 21:17:26 浏览:614
我的世界免费服务器ip 发布:2025-04-30 20:41:26 浏览:775
华为云相册在哪里找安卓11 发布:2025-04-30 20:19:59 浏览:274