IBatis一对多嵌套查询
1)类
public class AppData
{
// public int ModuleId { get; set; }
public int DataId { get; set; }
public int DataSequence { get; set; }
public string ContentValue { get; set; }
}
public class AppModuleJoin
{
//public int PageId { get; set; }
public int ModuleId { get; set; }
public IList<AppData> DataList { get; set; }
//public int DataId { get; set; }
//public int DataSequence { get; set; }
//public string ContentValue { get; set; }
}
public class AppModule
{
//public int PageId { get; set; }
public int ModuleId { get; set; } //public int DataId { get; set; }
//public int DataSequence { get; set; }
//public string ContentValue { get; set; }
}
public class AppPageJoin
{
public int PageId { get; set; }
public IList<AppModuleJoin> ModuleList { get; set; }
}
public class AppPage
{
public int PageId { get; set; } }
sqlxml
<?xml version="1.0" encoding="utf-8" ?>
<!--<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">-->
<sqlMap namespace="App" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<alias>
<typeAlias alias="AppPageJoin" type="IBatis.AppPageJoin"/>
<typeAlias alias="AppPage" type="IBatis.AppPage"/>
<typeAlias alias="AppModule" type="IBatis.AppModule"/>
<typeAlias alias="AppModuleJoin" type="IBatis.AppModuleJoin"/>
<typeAlias alias="AppData" type="IBatis.AppData"/>
</alias>
<resultMaps>
<!--<resultMap id="AppModuleReslut" class="AppModule">
--><!--<result property="PageId" column="PageId"/>--><!--
<result property="ModuleId" column="ModuleId"/>
<result property="DataId" column="DataId"/>
<result property="DataSequence" column="DataSequence"/>
<result property="ContentValue" column="ContentValue"/>
</resultMap>--> <resultMap id="AppDataReslut" class="AppData">
<!--<result property="PageId" column="PageId"/>-->
<!--<result property="ModuleId" column="ModuleId"/>-->
<result property="DataId" column="DataId"/>
<result property="DataSequence" column="DataSequence"/>
<result property="ContentValue" column="ContentValue"/>
</resultMap> <resultMap id="AppModuleReslut" class="AppModule">
<!--<result property="PageId" column="PageId"/>-->
<result property="ModuleId" column="ModuleId"/> </resultMap> <resultMap id="AppPageReslut" class="AppPage">
<result property="PageId" column="PageId"/>
</resultMap> <resultMap id="AppPageModuleJoinReslut" class="AppModuleJoin" extends="AppModuleReslut" groupBy="ModuleId">
<result property="DataList" resultMapping="App.AppDataReslut" />
</resultMap> <resultMap id="AppPageJoinReslut" class="AppPageJoin" extends="AppPageReslut" groupBy="PageId">
<result property="ModuleList" resultMapping="App.AppPageModuleJoinReslut" />
</resultMap>
</resultMaps>
<statements>
<select id="QueryData" resultMap="AppPageJoinReslut">
select *
from QueryData
</select> </statements>
</sqlMap>
在调用中
public IList<AppPageJoin> QueryData()
{
ISqlMapper mapper = _sqlMap;
IList<AppPageJoin> ListPerson = mapper.QueryForList<AppPageJoin>("QueryData", null); //这个"SelectAllPerson"就是xml映射文件的Id
return ListPerson;
}
IBatis一对多嵌套查询的更多相关文章
- mybatis一对一 和 一对多 嵌套查询
实际项目中的,接口对外VO 会出现 一对一 和 一对多的情况,举例:小区 下面有 楼栋 ,楼栋 下面有 房屋 , 房屋里面又房间 小区Vo : districtVo { id: nam ...
- 使用mybatis进行一对多嵌套查询时出错:输出结果:Country{id=2, name='美国', minister=[null]}
即Minister类作为Country类的关联属性. 查询的输出结果是:Country{id=2, name='美国', minister=[null]} <!--mapper.xml内容--& ...
- 嵌套查询--------关联一对多关系----------collection
参考来源: http://www.cnblogs.com/LvLoveYuForever/p/6689577.html <resultMap id="BaseResultMap&q ...
- ibatis 中动态SQL查询和动态标签嵌套的使用
ibatis 动态查询对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate.JPA 这样的一站式对象 / 关系映射(O/R Mapping)解 ...
- 7.mybatis一对多关联查询
和第5节一对一查询类似,但是不同的是,一对一使用的是association,而一对多使用collection. 实例: 1个班级Class,对应1个老师Teacher,对应多个学生Student 1. ...
- elasticsearch elk最全java api 搜索 聚合、嵌套查询
目录 一. 一般查询... 2 (一) matchAllQuery(client). 2 (二) matchQuery(client);3 (三) multiMatchQuery(client);3 ...
- mybatis的动态sql编写以及一对一关系查询和一对多的查询
创建mybatis数据库,运行以下sql语句 /* SQLyog Ultimate v8.32 MySQL - 5.5.27 : Database - mybatis **************** ...
- mybatis中使用懒加载实现一对多复杂查询
1.包结构 2.pom配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- Mybatis通过接口实现一对一及一对多的查询
实现一对一是采用association方法: <resultMap type="testId" id="users"> <associatio ...
随机推荐
- parse date receiving from mvc jsonresult
if we received data like this: ,"Date":"\/Date(1410969600000)\/", we can parse i ...
- [转] Spring注解@Component、@Repository、@Service、@Controller区别
原文地址:http://blog.csdn.net/zhang854429783/article/details/6785574 很长时间没做web项目都把以前学的那点框架知识忘光了,今天把以前做的一 ...
- Oracle MERGE INTO 语句
MERGE INTO USER_TEST T1 USING (SELECT '1001' AS ID,'王睿' AS NAME FROM dual) T2 ON ( T1.ID=T2.ID) WHEN ...
- mysql-函数if多值多结果判断
if语句 案例:同样统计男女生人数,语句如下: ,)) 男生数,,)) 女生数, ,,)) pass1,,,)) pass0, ,,)) state1,,,)) state0 FROM sch GRO ...
- Android Loader使用详解
1.CursorLoader使用Demo public class MainActivity extends Activity implements LoaderManager.LoaderCall ...
- DOS命令行下mysql 基本命令
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
- 【POJ 2503】Babelfish(字符串)
题 给定字典,再询问. 字典与询问之间有一个空行. cin.peek()是一个指针指向当前字符. #include<iostream> #include<string> #in ...
- 64.GitHub 排名前100的android项目简介
GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...
- js-JavaScript高级程序设计学习笔记4
第六章 面向对象的程序设计 1.面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.如python.ES中没有类的概念. 2.ES的对象可以想象成散列表 ...
- bzoj3756: Pty的字符串
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...