iBATIS中1:N查询结果利用groupBy功能实现的简单配置
2010-07-21 17:12
766 查看
iBATIS中的groupBy功能配置与使用,虽然很早就使用了,但最近又刚好用到了,简单的记录下
适用情况:如一道题目有多个答案,一般会分为两张表,一张表存题目,一张表存答案,这时就会形成1:N的对应关系。通过iBATIS中的groupBy功能很方便的实现从查询到数据填充的功能
存题目的表为:EXAM_USER_QUESTIONS,存答案的表为:EXAM_USER_OPTIONS,左连接,语句如下:
查询到的结果如下:
我们最终的结果就是一个题目对应着多个选项。
先配置SqlMap.xml,有两个地方需要注意,先看配置吧
然后在ExamUserQuestions类中增加个private List<ExamUserOptions> examUserOptionsList ,就这样就OK了
特别注意下groupBy="test_title"的值,如果在页面中需要显示的为test_title则此时应该为groupBy="test_title",这样,就会按照test_title的对应关系,将另张表的多条数据封装到List对象中去。
适用情况:如一道题目有多个答案,一般会分为两张表,一张表存题目,一张表存答案,这时就会形成1:N的对应关系。通过iBATIS中的groupBy功能很方便的实现从查询到数据填充的功能
存题目的表为:EXAM_USER_QUESTIONS,存答案的表为:EXAM_USER_OPTIONS,左连接,语句如下:
select a.test_title, b.content from EXAM_USER_QUESTIONS a left join EXAM_USER_OPTIONS b on a.id = b.link_exam_id
查询到的结果如下:
我们最终的结果就是一个题目对应着多个选项。
先配置SqlMap.xml,有两个地方需要注意,先看配置吧
<select id="selectExamUserQuestionsList" resultMap="examUserQuestionsResult" parameterClass="examUserQuestions" cacheModel="oneDayCache"> select a.test_title, b.content from EXAM_USER_QUESTIONS a left join EXAM_USER_OPTIONS b on a.id = b.link_exam_id </select>
<resultMap id="examUserQuestionsResult" class="examUserQuestions" extends="examUserQuestionsResultForList" groupBy="test_title"> <result property="examUserOptionsList" resultMap="EXAM_USER_OPTIONS.examUserOptionsResultForList" /> </resultMap>
然后在ExamUserQuestions类中增加个private List<ExamUserOptions> examUserOptionsList ,就这样就OK了
特别注意下groupBy="test_title"的值,如果在页面中需要显示的为test_title则此时应该为groupBy="test_title",这样,就会按照test_title的对应关系,将另张表的多条数据封装到List对象中去。
相关文章推荐
- JDBC 利用反射技术将查询结果封装为对象(简单ORM实现)
- EBS Form开发利用QUERY_FIND来实现最简单的查询功能(2)
- EBS Form开发利用QUERY_FIND来实现最简单的查询功能
- [C#]利用 DynamicLinq 实现简单的动态表达式构建查询
- 【DButils学习之】利用ResultSetHandler各实现类来处理查询结果
- 【DButils学习之】利用ResultSetHandler各实现类来处理查询结果
- 利用文件实现Free Pascal中的简单排序功能
- 利用spring+ibatiS技术,在spring中配置多个数据源,并实现动态切换。
- 一个简单的样例看明确怎样利用window.location.hash实现ajax操作时浏览器的前进/后退功能
- 用C# 简单实现带查询功能的ComboBox组件
- 利用URL实现简单下载网页的功能
- redis实现简单的条件查询功能
- 利用JavaScript 实现Word简单导出功能
- 利用jquery简单实现返回顶部功能
- j2eeSSH简单利用JSON实现异步查询
- Angular实现的简单查询天气预报功能示例
- Java利用stmp协议实现简单邮件发送功能
- 使用json实现查询条件传回Action进行hql语句拼接查询实现在结果中查询功能在datagrid中显示查询结果
- 利用PHP绘图函数实现简单验证码功能的方法
- 利用聚合函数和子查询简单实现数据迭代查询