先看个具体的例子:
- <resultMap id=”get-product-result” class=”com.ibatis.example.Product”>
- <result property=”id” column=”PRD_ID”/>
- <result property=”description” column=”PRD_DESCRIPTION”/>
- </resultMap>
- <statement id=”getProduct” resultMap=”get-product-result”>
- select * from PRODUCT
- </statement>
注意resultMap支持“select *”,并不要求定义ResultSet所有返回字段的映射。
在SQL Map框架中,Result Map是极其重要的组件。在执行查询Mapped Statement时,resultMap负责将结果集的列值映射成Java Bean的属性值。resultMap的结构如下:
- <resultMap id=”resultMapName” class=”some.domain.Class” [extends=”parent-resultMap”]>
- <result property=”propertyName” column=”COLUMN_NAME”
- [columnIndex=”1”]
- [javaType=”int”]
- [jdbcType=”NUMERIC”]
- [nullValue=”-999999”]
- [select=”someOtherStatement”]
- />
- <result ……/>
- <result ……/>
- <result ……/>
- </resultMap>
1.extends 是可选的属性,可设定成另外一个resultMap的名字,并以它为基础。和在Java中继承一个类相似,父resultMap的属性将作为子resutlMap的一部分。父resultMap的属性总是加到子resultMap属性的前面,并且父resultMap必须要在子resultMap之前定义。父resultMap和子resultMap的class属性不一定要一致,它们可以没有任何关系。
注意!ResultSet的列值按它们在resultMap中定义的顺序读取 (这特性会在某些实现得不是很好的JDBC Driver中派上用场)。
2.属性columnIndex 的值是ResultSet中用于赋值Java Bean属性的字段次序号,
提供了我们将数据集的第几个下标字段映射到指定的数据对象属性的方案
3.属性nullValue 指定数据库中NULL的替代值。因此,如果从ResultSet中读出NULL值,Java Bean属性将被赋值属性null指定的替代值。属性null的值可以指定任意值,但必须对于Java Bean属性的类型是合法的。
4.属性select 用于描述对象之间的关系,并自动地装入复杂类型(即用户定义的类型)属性的数据。属性select的值必须是另外一个mapped statement元素的名称。
for instance:
- <resultMap id="DemoResultMap" class="Hashtable">
- <result property="id" column="id"/>
- <result property="Children" column="id"
- select="SELECT_Children"/>
- </resultMap>
-
- <statements>
- <select id="SELECT_Children" resultClass="ChildrenObject">
- SELECT * FROM Children WHERE ParentID = #id#
- </select>
- </statements>
参考:
http://xulongfa.iteye.com/blog/428674
http://jc-dreaming.iteye.com/blog/499917
分享到:
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
毕业设计:在线考试系统_hy4
Python-jmtt爬虫,可下载每个分类下的所有漫画,已经打包成EXE文件并放入Releases里,喜欢就点个Watc_hy4
3个小项目分别是利用Python实现报表自动化、某连锁超市、某银行数据分析,展示了问题分解、数据清洗、数据分析与可视化的过程。_hy5
vscode rust插件
一个利用机器学习做数据挖掘实战的小项目,参考书《Python数据分析与挖掘实战》_hy5
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
DeepSeek 部署详细方式 DeepSeek 是一款功能强大的智能数据搜索和分析平台,其部署过程需要一定的技术背景和准备工作。以下是 DeepSeek 部署的详细步骤,旨在帮助用户顺利完成平台的搭建和配置。 一、准备工作 硬件要求: 服务器:具备足够的计算能力和存储空间,推荐配置高性能 CPU、大容量内存和 SSD 固态硬盘。 网络:确保服务器能够访问互联网,并且网络带宽足够支持数据传输和访问需求。 软件要求: 操作系统:支持 Linux(如 Ubuntu、CentOS 等)或 Windows Server。 数据库:MySQL 或 PostgreSQL 等关系型数据库,用于存储 DeepSeek 的数据和配置信息。 Python 环境:安装 Python 3.x 版本,并配置好相关的 Python 包管理工具(如 pip)。 域名和 SSL 证书: 域名:用于访问 DeepSeek 的 Web 界面。 SSL 证书:确保数据传输的安全性,推荐使用 Let's Encrypt 等免费 SSL 证书。 二、安装步骤 环境配置: 在服务器上安装并配置好操作系统、数据库和 Python
[项目分享]Python基于YOLOv5的交通标志识别系统[源码&技术文档&部署视频&数据集]
分布式事务处理_hy4
毕设(基于python和定向爬虫的商品比价系统的实现)_hy5
保活应用:前台进程、锁屏开一像素页面、循环播放无声音频、定时任务、双进程守护_hy4
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
【Jupyter Notebook】Python与机器学习方向,《决策树与集成算法》课程仓库
【Python】闲聊QQ机器人,也就是人工智障_pgj
工程管理项目:想法起源于一个做包工程的朋友,想给他做一个系统去管理成本,管控进度,工资结算等。但是好几年没写过java项目了,现_hy4
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
NUAA操作系统实验平时作业及往年考试题记录_hy5
本文是一篇关于汇编语言的深度开发指南,全面介绍了汇编语言的相关知识。汇编语言作为直接面向硬件的低级编程语言,在计算机科学中地位举足轻重,能让开发者深入理解计算机运行机制,优化程序性能。文章先介绍了汇编语言的概念,它直接与硬件交互,用助记符代替机器指令,可实现对计算机资源的精细控制。接着阐述其起源与发展,为降低编程难度应运而生,随硬件发展不断演进。然后深入讲解了寄存器、内存模型、指令集等基础概念,还介绍了搭建开发环境、编写简单程序及编译链接的方法。在高级特性方面,探讨了宏汇编、条件语句与循环结构、子程序与函数调用等内容。最后,文章列举了汇编语言在操作系统开发、嵌入式系统编程、性能优化等领域的应用,并对其未来发展进行了展望,认为在新兴技术领域汇编语言将迎来新机遇,也需适应计算机体系结构的演进,鼓励读者深入学习汇编语言,探索计算机底层奥秘。