感觉以前ibatis学习得不够精细,最近又回过头来学习了一遍。
一,在实际应用中我们可能遇到这么一种场景:
- 首先从一张表里搜索出一批会员的数据,对一些状态等字段进行筛选。
- 筛选后的那些会员数据要关联到另外一张表中去查。然后再筛选
- 重复2步骤。
- 最后拼装这么多表里面需要的会员数据
如果用SQL语句拼接是可以解决这种CASE的,但是会大大影响SQL执行的速度,给数据库带来压力。所以有些大数据量情况下需要用程序,分几个SQL去依次查询,最后拼装这么多表里面查出来的有关数据。
这样子的话如果能够一查出来就形成这样一种数据结构
{memberId1=XXXObject,memberId2=XXXObject, ……}就好了
看到 IBATIS 可以用queryForMap来搞定
然后查寻出的HashMap还可以根据自己指定的字段作为Key值。那我这个CASE如果用会员的memberId作为这个返回MAP的KEY值的话,程序里面数据结构的问题就解决了。
如以下SQL 配置
<select id="MS-FIND-APPLYING-MEMBER-ID-PAGINATOR-LIST" parameterClass="TA-SERVICE-RECORD-PARAM" resultMap="RM-SERVICE-RECORD"><!-- 这里的RM-SERVICE-RECORD-->假定已经定义了
SELECT GMT_CREATE,
GMT_MODIFIED,
MEMBER_ID,
PAYMENT_ID
……
from service_record
where
……
</select>
用这个函数来获取到的MAP就是,一个会员的member_id对应这个会员查出来的所有信息的一个MAP。是一个MAP的嵌套。
public static Map selectApplyMembers(ServiceRecordParam param, String id) throws SQLException {
return sqlMapper.queryForMap("MS-FIND-APPLYING-MEMBER-ID-PAGINATOR-LIST", param, id);
}
分享到:
相关推荐
- **配置日志输出**:为了更好地跟踪Ibatis的执行流程,可以通过配置log4j.properties文件来开启日志记录。例如,可以设置如下配置: ``` log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j...
2. **Ibatis学习指南**:这可能是中文版的学习资料,针对初学者提供了详尽的入门教程和进阶指南。学习指南通常会涵盖Ibatis的基本概念,如SqlMapConfig.xml配置文件、Mapper接口的使用、SqlSession的操作,以及...
### iBATIS学习笔记(一)查询记录 #### 一、环境搭建与配置 在进行iBATIS的学习之前,我们首先需要完成环境的搭建。本文档将详细介绍如何配置iBATIS来实现基本的数据查询功能。 ##### 准备环境 1. **新建数据库**...
1. **动态SQL**:Ibatis.net支持在XML映射文件中编写动态SQL,这意味着你可以根据条件来构建不同的SQL语句,极大地提高了代码的可维护性和灵活性。 2. **参数映射**:通过和元素,Ibatis.net可以将.NET对象的属性值...
这份学习资料旨在为初学者和有经验的开发者提供全面的iBatis学习资源。通过这些资料,你可以了解到如何在项目中有效地利用iBatis进行数据库操作,包括但不限于SQL映射、动态SQL、事务管理以及对象关系映射等关键概念...
1. 数据库基础:理解数据库的基本概念,如数据库、表、记录、字段等,以及它们之间的关系。了解关系型数据库模型,如ER模型(实体关系模型)。 2. SQL语法:学习SQL的基本语法,包括SELECT(查询)、INSERT(插入)...
本资料包针对Ibatis的学习,提供了丰富的资源,对于初学者来说是入门的理想选择。 Ibatis的核心理念是“SQL就是你的API”,它通过XML或注解方式配置映射文件,将Java对象与SQL语句关联起来。这种方式避免了JDBC代码...
这个压缩包集合了Ibatis的学习笔记、文档和相关资源,为想要深入理解和掌握Ibatis的人提供了一站式的自学材料。 Ibatis的核心概念是SQL Mapping,它允许开发者将SQL语句直接写在XML配置文件中,或者使用注解方式,...
1. `select`:用于查询数据。例如,`getTuser`方法通过`id`获取`tuser`表中的记录。`resultClass`属性指定了结果对象的类,`#value#`是一个占位符,会被传入的参数替换。 2. `insert`:用于插入数据。`insrtTuser`...
通过本文的学习笔记,我们可以了解到 iBatis 在简化数据库访问的同时提供了足够的灵活性。尽管 iBatis 相比 Hibernate 在自动化程度上略显不足,但对于需要高度定制 SQL 查询的场景来说,iBatis 的优势十分明显。...
1. **基本概念**:了解iBatis是什么,它的设计理念,以及它与传统的JDBC相比有何优势。 2. **配置文件**:学习如何设置iBatis的主配置文件(mybatis-config.xml),包括数据源配置、类型别名、环境配置等。 3. **...
【Ibatis开发人员学习资料】 Ibatis,全称MyBatis,是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或...
6. 对象关系映射(ORM):虽然iBATIS不完全是一个ORM框架,但它允许开发者将数据库记录映射到Java对象,简化了数据操作。 总的来说,通过获取iBATIS 2.3.4的jar包和源码,开发者可以更好地掌握这个框架,提高开发...
**IBatis .NET框架实例详解** ...通过学习这个实例,你可以掌握如何配置、编写映射文件,以及如何在C#代码中使用IBatis执行SQL语句。这是一个非常实用的工具,对于提升开发效率和代码质量大有裨益。
本指南是为初学者设计的,旨在提供一个简洁明了的Ibatis学习路径。 一、Ibatis简介 Ibatis的核心理念是将SQL语句和业务逻辑分离,这样可以使得代码更易于维护和扩展。它避免了JDBC的繁琐过程,如建立和关闭连接、预...
本资源是一个关于自我学习Java与iBatis结合进行编码的论坛项目,旨在帮助开发者提升在这两个领域的技能。 首先,Java是一种面向对象的、跨平台的编程语言,它以其丰富的类库、强大的性能和高度的可移植性而闻名。在...
集合映射适用于一对多的关系,通过在XML映射文件中配置resultMap,可以将主表的一条记录映射成多个从表的对象集合。关联映射则用于一对一或一对多的关系,通过nestedResultMap或association标签,可以实现主从表的...
综上所述,"iBATIS 学习 教程"涵盖了iBATIS的基本概念、工作原理、主要功能以及使用方法,对于初学者来说是一份宝贵的参考资料。通过深入学习并实践,开发者可以熟练掌握iBATIS,提升数据库操作的效率和代码的可维护...
【标题】:Ibatis+Spring+Struts1框架搭建 在Web开发中,Ibatis、Spring和Struts1是三个非常重要的组件,它们分别负责不同的职责。Ibatis是一个优秀的持久层框架,Spring是一个全面的后端应用框架,而Struts1则是一...