ibatis框架的sqlmapclient接口

SqlMapClient,是iBatis中的重要接口,这个接口涉及到对SQL映射的执行和批处理。

现在,就先了解它的对query开头方法的定义。

首先是 queryForList 方法:

//指定SQL的ID,执行的结果返回List
queryForList(java.lang.String id) ;

//指定SQL的ID,并指定返回的行数
queryForList(java.lang.String id, int skip, int max) ;

//指定SQL的ID,并指定传入参数
queryForList(java.lang.String id, java.lang.Object parameterObject) ;

//指定SQL的ID,并指定传入参数,再指定返回的行数
queryForList(java.lang.String id, java.lang.Object parameterObject, int skip, int max) ;

接着是 queryForMap 方法:

//执行SQL的ID,并把结果中的某一字段作为map的key
queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp) ;

//同上,并且map中的value是指定的字段,而不是整个返回对象
queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp, java.lang.String valueProp) ;

再是queryForObject 方法:

//执行指定的SQL ID,并返回一个对象,如果查询出的函数过多,会有异常SQLException抛出
queryForObject(java.lang.String id) ;

//同上,并加上了传递的参数
queryForObject(java.lang.String id, java.lang.Object parameterObject) ;

//同上,并执行的返回对象的引用
queryForObject(java.lang.String id, java.lang.Object parameterObject, java.lang.Object resultObject) ;

最后,是 queryForPaginatedList 方法,也就是针对分页的方法: 但是这个方法已经Deprecated 也就是不赞成使用这个方法了

//这两个方法返回的是 PaginatedList 接口。

//指定查询的SQL ID,并且规定了每页的数量
queryForPaginatedList(java.lang.String id, int pageSize) ;

//同上,并且加上了指定的传参
queryForPaginatedList(java.lang.String id, java.lang.Object parameterObject, int pageSize) ;

最后一个,那就是 queryWithRowHandler,对查询的每一个结果进行处理:

//指定SQL id ,指定传参,并指定处理器
queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, RowHandler rowHandler) ;

//指定SQL id,指定处理器
queryWithRowHandler(java.lang.String id, RowHandler rowHandler) ;

现在了解一下这个 RowHandler 这个接口。

此接口只有一个定义方法:handlerRow(java.lang.Object valueObject)

所以,通常我们都实现这个接口,因为对每一个处理都是我们自己的需求。

其中的传入属性就是每一行的对象

注:该文章转载:http://njupt.iteye.com/blog/320238

ibatis框架的sqlmapclient接口

时间: 2024-10-12 04:03:46

ibatis框架的sqlmapclient接口的相关文章

ibatis框架之系统架构

如果用最简洁的话来总结 iBATIS 主要完成那些功能时,我想下面几个代码足够概括. 1 Class.forName("oracle.jdbc.driver.OracleDriver"); 2 Connection conn= DriverManager.getConnection(url,user,password); 3 java.sql.PreparedStatement st = conn.prepareStatement(sql); 4 st.setInt(0,1); 5 s

iBATIS 框架主要的类层次结构

iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接: 通过反射打通 Java 对象与数据库参数交互之间相互转化关系. iBATIS 的框架结构也是按照这种思想来组织类层次结构的,其实它是一种典型的交互式框架.先期准备好交互的必要条件,然后构建一个交互的环境,交互环境中还划分成会话,每次的会话也有一个环境.当这些环境都准备好了以后,剩下的就是交换数据了.其实涉及到网络通信,一般都会是类似的处理方式. 图

iBatis框架使用 4步曲

iBatis是一款使用方便的数据訪问工具,也可作为数据持久层的框架.和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比.iBatis是将SQL语句映射为Java对象. 相对于全自己主动SQL的Hibernate,iBatis同意你对SQL有全然控制权,能够视为半自己主动的数据訪问工具. iBatis的最大长处是简便,轻量级,仅需iBatis的一个jar和数据库的驱动就可以执行,并且使用iBatis仅需掌握SQL和XML的使用方法就可以,而不像Hibernate那样须要配置对

ibatis框架文件配置

最近2天在学ibatis,心里也有一些心得,就把它写下来了. 首先是配置一下ibatis的环境,添加ibatis2.X.jar,mysql-connection-bin.5.1.8.jar,建立一个web项目: 0.写个类User.jsva 有属性:.....(自己写),建个表:user.sql 1.先建一个数据库文件dataSource.properties,内容如下: jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localho

iBatis框架基本使用

iBatis框架是Java持久层开发框架,说白了就是前人写了一部分代码(针对数据库操作),我们要做的就是再次开发,拿来框架直接使用. 我们自己开发时,dao层的sql语句都是写死在程序中的,如果查询条件改变什么的都需要修改sql语句,这样就得去修改原代码,违背了开发原则中的开闭原则.有没有一种实现让sql不再写死在程序里,iBatis框架就可以使sql文活起来. iBatis是一个开源的项目,有兴趣的可以去看看那些元老级的人物是怎么将封装的框架.本文旨在介绍它的使用. 第一步:搭建环境 所谓的搭

ibatis框架搭建

最近项目中用到IBATIS ,我没有用过,现在开始慢慢学习.IBATIS是一个持久层框架,但是比HIBERNATE要轻许多,用ibatis基本上sql语句要自己写.今天下午做了一个简单的demo. 流程:在DAO中读取SqlMapConfig.xml文件(连接数据库,寻找实体类配置文件路径).当DAO中调用sql语句时候:sqlMapClient.queryForList("getAllStudent"); 会去实体类的配置文件里面寻找sql语句. 1.下载ibatis Jar包,我用

SSI(Struts2, Spring, iBatis)框架整合小结

MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用.近年来,随着java的盛行,MVC的低耦合性.高重用性.可维护性.软件工程的可管理性等诸多优点使其在java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts.WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spring框架.专注于持久层的Hibernate.iBatis.Castor.JORM等框架.由于最近用了一次SSI

Java集合框架之List接口

在上一篇Java集合框架之Collection接口中我们知道List接口是Collection接口的子接口,List接口对Collection进行了简单的扩充,List接口中的元素的特点为有序,可重复,允许null值,因为List继承了Collection接口,所以继承自Collection接口中的方法不再赘述,从List接口中的方法来看,List接口主要是增加了面向位置的操作,允许在指定位置上对集合中的元素进行操作,同时增加了一个能够双向遍历线性表的新列表迭代器ListIterator.下面介

EF实体框架数据操作接口(转)

//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Linq;using System.Linq.