ibatis中多表联接查询
来源:互联网 发布:adsafe软件不能安装 编辑:程序博客网 时间:2024/06/14 05:39
目前,我在做项目的时候,用到了spring + struts2 +ibatis 框架。平时用到的都是一张简单的表,来进行数据的增、删、改、查。而现在突然需要用到其它的一张表,或多张表进行联接查询,那么,在这种情况下,在xml映射文件中,就不能像单张表映射那样。 那么,我们需要怎么处理呢?
下面我就简单的来说明一下:
1、假如我数据库中有两张表:topo表和device表;
2、它们分别对应两个实体类:Topo.class和Device.class
3、我们需要做的就是把这两个实体类再整合出一个联合的实体类:TopoDeviceUnion.class(Topo.class和Device.class的联合实体类),这个实体类中的属性,就是你在联接查询时能够用到的全部字段。
4、在xml映射文件中把TopoDeviceUnion.class中所有的属性全部都加进去。
代码实现如下:
Topo.class
<pre name="code" class="java">public class Topo {private String id;private String name;private String ....;private Integer....;...(省略其它的属性)//get方法、set方法...}Device.class
<pre name="code" class="java">public class Device{private String loopbackIp;private String deviceModel;private String ....; private Integer....; . . . (省略其它的属性)//get方法、set方法...}
TopoDeviceUnion.class
public class TopoDeviceUnion{private String id;private String name;private String lookbackIp;private String deviceModel;//get方法、set方法...}
xml映射文件
<pre name="code" class="java"><?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="topodevice"><resultMap class="TopoDeviceUnion" id="resultMap_queryAllTopoDevice"><result property="id" column="id" jdbcType="varchar"/><result property="name" column="name" jdbcType="varchar"/><result property="loopbackIp" column="loopback_ip" jdbcType="varchar"/><result property="deviceModel" column="device_model" jdbcType="varchar"/></resultMap><select id="queryAllTopoDevice" parameterClass="TopoDeviceUnion" resultMap="resultMap_queryAllTopoDevice">select b.id,b.name,a.loopback_ip,a.device_model from device a,topo b where a.device_id=b.device_id;</select></sqlMap>
0 0
- ibatis中多表联接查询
- ibatis中多表联接查询
- 联接查询
- 联接查询
- 关系联接查询
- 表联接查询
- 多表联接查询
- 联接视图--查询
- 多表联接查询
- 联接查询总结
- sql的联接查询
- 三表联接查询
- SQL联接查询
- iBatis 查询
- SQL Server 中的联接查询
- 第三章 联接查询(转)
- Mysql里的联接查询
- oracle数据库中的联接查询
- dropbear 轻量级ssh2移植
- 自己动手写CPU之第五阶段(4)——逻辑、移位与空指令的实现
- Java 单线程写文件 多线程读文件
- tatic/final/autoboxing/数据转换,异常处理等知识!
- Qt自定义委托在QTableView中绘制控件、图片、文字
- ibatis中多表联接查询
- 如何将maven项目打包成可执行的jar
- MAC 上的.bash_profile文件
- PropertyPlaceholderConfigurer的用法
- django模板页闪现信息
- web.xml不认taglib标签的解决方法
- 中国企业决战的新焦点--品牌战略
- UVA 116 - Unidirectional TSP(被这个题坑了)
- Spring的几个常用的Bean声明