`
qq123zhz
  • 浏览: 534378 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ibatis3 一对一搞定

阅读更多
 
配置文件:
<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper  
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" 
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="HotMapper">
	<resultMap type="hotBean" id="hotMap">
		<id property="popId" column="POP_ID" javaType="int" jdbcType="INTEGER"/>
		
		<result property="popType" column="POP_TYPE"/>
		<result property="popNumber" column="POP_NUMBER"/>
		
		
		
		<association property="bgImageBean" column="POP_BG_ID" javaType="bgImage"
		 	  select="pageSelectBg"></association>
		 <association property="iconBean" column="POP_ICO_ID" javaType="bgImage"
		 	  select="pageSelectIcon"></association>
		<association property="templateBean" column="POP_TEMPLATE_ID" javaType="bgImage"
			  select="pageSelectTemplate"></association>
		 
<!--		<collection property="bgList" column="POP_BG_ID" javaType="ArrayList"-->
<!--		 	  select="pageSelectBg"></collection>-->
<!--		 <collection property="icoList" column="POP_ICO_ID" javaType="ArrayList"-->
<!--		 	  select="pageSelectIcon"></collection>-->
<!--		<collection property="templateList" column="POP_TEMPLATE_ID" javaType="ArrayList"-->
<!--			  select="pageSelectTemplate"></collection>-->
		
<!--		<result property="bgImageBean" column="POP_BG_ID" javaType="bgImage"/>-->
<!--		<result property="iconBean" column="POP_ICO_ID" javaType="iconBean"/>-->
<!--		<result property="templateBean" column="POP_TEMPLATE_ID" javaType="template"/>-->
	 </resultMap>
	<resultMap type="bgImage" id="bgImageMap">
			<id column="BG_ID" property="bgId" />
			<result column="BG_TYPE_ID" property="bgTypeId" />
			<result column="IS_CHARGE" property="bgIsCharge"/>
			<result column="BG_NAME" property="bgName" />
			<result column="BG_TAG" property="bgTag" />
			<result column="BG_DESC" property="bgDesc" />
			<result column="BG_KEY_WORD" property="bgKeyWord" />
			<result column="BG_FORMAT" property="bgFormat" />
			<result column="BG_LOCAL" property="bgLocal" />
			<result column="BG_CP" property="bgCP" />
			<result column="BG_WEBURL" property="bgWebUrl" />
			<result column="BG_WAPURL" property="bgWapUrl" />
			<result column="BG_STANDARD_DESC" property="bgStandardDesc" />
			<result column="BG_NUMBER" property="bgNumber" />
			<result column="BG_INDEX" property="bgIndex" />
			<result column="BG_UPTIME" property="bgUpTime"  javaType="java.util.Date" jdbcType="DATE"/>
			<result column="BG_USEDNUM" property="bgUsedNum" />
			<result column="BG_ISCURRENCY" property="bgIsCurrency" />
			<result column="BG_ISAVAIABLE" property="bgIsAvaiable" />
			<result column="BG_ISSHOW" property="bgIsShow"/>
			<result column="BG_ISRECOM" property="bgIsRecom"/>
			<result column="BG_ISHOT" property="bgIsHot" />
			<result column="IS_CHARGE" property="bgIsCharge"/>
	</resultMap>
	<resultMap type="iconBean" id="iconBeanMap">
			<id column="ico_id" property="icoId"/>
			<result column="ico_type_id" property="icoTypeId"/>
			<result column="ico_desc" property="icoDesc"/>
			<result column="ico_key" property="icoKey"/>
			<result column="ico_format" property="icoFormat"/>
			<result column="ico_city" property="icoCity"/>
			<result column="ico_cp" property="icoCP"/>
			<result column="ico_weburl" property="icoWebUrl"/>
			<result column="ico_wapurl" property="icoWapUrl"/>
			<result column="ico_request" property="icoRequest"/>
			<result column="ico_number" property="icoNumber"/>
			<result column="ICO_STYLE" property="icoStyle"/>
			<result column="ico_url" property="icoUrl"/>
			<result column="ico_index" property="icoIndex"/>
			<result column="ico_uptime" property="icoUpTime" javaType="java.util.Date" jdbcType="DATE"/>
			<result column="ico_usenumber" property="icoUsedNumber"/>
			<result column="ico_name" property="icoName"/>
			<result column="ico_tag" property="icoTag"/>
			<result column="ico_isavaiable" property="icoIsAvaiable"/>
			<result column="ico_isshow" property="icoIsShow"/>
			<result column="ico_isrecom" property="icoIsRecom"/>
			<result column="ico_ishot" property="icoIsHot"/>
			<result column="is_charge" property="icoIsCharge"/>
	</resultMap>
	<resultMap type="template" id="templateMap">
			<id column="TEMPLATE_ID" property="templateId"/>
			<result column="TYPE_ID" property="typeId"/>
			<result column="TEMPLATE_CONTENT" property="templateContent"/>
			<result column="TEMPLATE_TAG" property="templateTag"/>
			<result column="TEMPLATE_NAME" property="templateName"/>
			<result column="TEMPLATE_ISRECOM" property="templateIsRecom"/>
			<result column="TEMPLATE_ISHOT" property="templateIsHot"/>
			<result column="TEMPLATE_DESC" property="templateDesc"/>
			<result column="TEMPLATE_THUM" property="templateThum"/>
			<result column="TEMPLATE_USE_INDEX" property="templateUsedIndex"/>
			<result column="TEMPLATE_USEDNUM" property="templateUsedNum"/>
	</resultMap>
	 
	<!-- =========================热门管理============================= -->
	<sql id="selectBgByCondition">
		<if test="bgName!=null"> 	and t1.bg_name = #{bgName}</if>
		<if test="bgTag!=null"> 	and t1.bg_tag = #{bgTag}</if>
		<if test="bgKeyWord!=null"> and t1.bg_key_word = #{bgKeyWord}</if>
	</sql>
	<sql id="selectIconByCondition">
		<if test="icoName!=null"> 	and t1.ico_name = #{icoName}</if>
		<if test="icoTag!=null">	and t1.ico_tag = #{icoTag}</if>
		<if test="icoKey!=null"> 	and t1.ico_key = #{icoKey}</if>
	</sql>
	<sql id="selectTemplateByCondition">
		<if test="templateName!=null"> and t1.template_name = #{templateName}</if>
		<if test="templateTag!=null">  and t1.template_tag = #{templateTag}</if>
	</sql>
	<!-- =============================分页处理================================================ -->
	<!-- 背景分页 -->
	 <select id="countBg" resultType="long">
       	select count(*)
 		from ctt_pop t,ctt_background t1
 		 where
       		t.pop_bg_id = t1.bg_id 
		 <include refid="selectBgByCondition"/>
    </select>
	<select id="pageSelectBg" resultMap="bgImageMap" parameterType="int" flushCache="true" >
		select t1.*,t.pop_number
 		from ctt_pop t,ctt_background t1 
 		where
    	   t.pop_bg_id = t1.bg_id  and t1.bg_id=#{id}
    	 <include refid="selectBgByCondition"/>
	</select>
	<!-- 图标分页 -->
	<select id="countIcon" resultType="long">
       	select count(*)
 		from ctt_pop t,ctt_icon t1
 		 where
       		t.pop_ico_id = t1.ico_id 
		 <include refid="selectIconByCondition"/>
    </select>
	<select id="pageSelectIcon" resultMap="iconBeanMap" parameterType="int" flushCache="true" >
		select t1.*,t.pop_number
 		from ctt_pop t,ctt_icon t1
 		 where
       		t.pop_ico_id = t1.ico_id  and t1.ico_id=#{id}
       	<include refid="selectIconByCondition"/>
	</select>
	<!-- 模板分页 -->
	<select id="countTemplate" resultType="long">
       	select count(*)
 		from ctt_pop t,ctt_template t1
 		 where
       		t.pop_template_id = t1.template_id 
		 <include refid="selectTemplateByCondition"/>
    </select>
	<select id="pageSelectTemplate" resultMap="templateMap"   parameterType="int" flushCache="true" >
		select t1.*,t.pop_number
 		from ctt_pop t,ctt_template t1
 		 where
       		t.pop_template_id = t1.template_id  and t1.template_id=#{id}
       	<include refid="selectTemplateByCondition"/>
	</select>
	<!-- ===================================================================================== -->
	 
	 <select id="selectPop" resultMap="hotMap">
	 	select * from ctt_pop
	 </select>
	 
	 <!-- 取消热门 -->
	 <update id="update" parameterType="hotBean" >
	 	
	 </update>
</mapper>
javaBean:

/**
 * @author zhz
 * */
public class HotBean {
	private int popId;
	private int popIcoId;
	private int popBgId;
	private int popTemplateId;
	private int popNumber;
	private int popType;
	
	private BgImageBean bgImageBean;
	private IconBean iconBean;
	private TemplateBean templateBean;
	
//	private List<BgImageBean>bgList=new ArrayList<BgImageBean>();
//	private List<IconBean>icoList=new ArrayList<IconBean>();
//	private List<TemplateBean>templateList=new ArrayList<TemplateBean>();
	/**
	 * 
	 */
	public HotBean() {
		// TODO Auto-generated constructor stub
	}


	public BgImageBean getBgImageBean() {
		return bgImageBean;
	}


	public void setBgImageBean(BgImageBean bgImageBean) {
		this.bgImageBean = bgImageBean;
	}


	public IconBean getIconBean() {
		return iconBean;
	}


	public void setIconBean(IconBean iconBean) {
		this.iconBean = iconBean;
	}


	public TemplateBean getTemplateBean() {
		return templateBean;
	}


	public void setTemplateBean(TemplateBean templateBean) {
		this.templateBean = templateBean;
	}


	public int getPopId() {
		return popId;
	}
	public void setPopId(int popId) {
		this.popId = popId;
	}
	public int getPopIcoId() {
		return popIcoId;
	}
	public void setPopIcoId(int popIcoId) {
		this.popIcoId = popIcoId;
	}
	public int getPopBgId() {
		return popBgId;
	}
	public void setPopBgId(int popBgId) {
		this.popBgId = popBgId;
	}
	public int getPopResId() {
		return popTemplateId;
	}
	 
	public void setPopNumber(int popNumber) {
		this.popNumber = popNumber;
	}
	public int getPopType() {
		return popType;
	}
	public void setPopType(int popType) {
		this.popType = popType;
	}

	public int getPopTemplateId() {
		return popTemplateId;
	}

	public void setPopTemplateId(int popTemplateId) {
		this.popTemplateId = popTemplateId;
	}

	public int getPopNumber() {
		return popNumber;
	}
	

}

  测试程序:

public class Test{
public void testQuery1(){
		HotMaterialManagerDaoImpl daoImpl=new HotMaterialManagerDaoImpl();
		List<HotBean> list = daoImpl.queryAllHot();
		for (HotBean hotBean : list) {
			System.out.println(hotBean.getPopNumber());
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HotManagerTest test=new HotManagerTest();
		test.testQuery1();
//		test.testCancel();
//		test.testUpdate();
	}
}

  实现1对1的关键地方是:

                               <association property="bgImageBean" column="POP_BG_ID" javaType="bgImage"
		 	  select="pageSelectBg"></association>
		 <association property="iconBean" column="POP_ICO_ID" javaType="bgImage"
		 	  select="pageSelectIcon"></association>
		<association property="templateBean" column="POP_TEMPLATE_ID" javaType="bgImage"
			  select="pageSelectTemplate"></association>

   在select="pageSelectBg“,查询中传入int 参数,关联对象。。



 

  • 大小: 15.9 KB
分享到:
评论

相关推荐

    Ibatis一对一映射提示

    本篇将深入讲解iBATIS一对一映射的概念、配置及应用,帮助你更好地理解和运用这个功能。 一对一映射在数据库设计中是指两个表之间存在一对一的关系,例如,一个员工可能只有一个部门,一个部门也只对应一个员工。在...

    ibatis配置多表关联(一对一、一对多、多对多

    ibatis配置多表关联(一对一、一对多、多对多

    ibatis一对一、多对一示例

    利用ibatis实现一对一、多对一的示例代码。每种关系用两种方式实现,具体的讲解可看我的博客http://blog.csdn.net/duwenchao1986/article/details/8565386

    Ibatis3手册 Ibatis3参考手册

    Ibatis3以其灵活性和高效性在众多ORM框架中脱颖而出,特别适合那些对SQL查询有特殊需求或者需要精细化控制的应用场景。希望本文能够帮助开发者更好地理解和掌握Ibatis3的核心知识,为实际项目开发打下坚实的基础。

    ibatis的的增删改查和一对一、一对多查询

    本篇文章将详细探讨iBatis在增删改查(CRUD)操作以及一对一和一对多关系映射中的应用。 首先,让我们了解一下iBatis的CRUD操作: 1. **创建(Create)**:在iBatis中,创建数据通常通过`&lt;insert&gt;`标签实现。你需要...

    ibatis3资料-介绍

    3. **结果映射改进**:iBATIS3对结果映射进行了优化,支持更复杂的数据结构映射,包括嵌套对象、集合以及使用构造函数进行结果集映射,这极大地增强了框架处理复杂数据的能力。 4. **缓存机制增强**:iBATIS3引入了...

    ibatis 一对多 多对多完整映射

    本文将深入探讨如何在iBATIS中实现一对多和多对多的关系映射,并提供相关的源码分析和工具使用技巧。 **一对多关系映射** 在数据库设计中,一对多关系是指一个父记录可以与多个子记录关联,例如,一个用户可以有多...

    ibatis 一对多

    本文将深入探讨`iBatis` 中的一对多映射关系,以及如何通过源码理解和使用这个特性。 一对多映射是数据库关系模型中的常见概念,指的是一个父表(如部门表)可以对应多个子表(如员工表),每个部门可以有多个员工...

    第一个ibatis3工程

    《第一个iBatis3工程详解》 在Java开发领域,iBatis作为一个优秀的持久层框架,因其简单易用、灵活性高而备受青睐。本篇文章将深入探讨如何搭建第一个iBatis3工程,以及该工程中涉及到的核心概念和技术点。 首先,...

    ibatis 一对多关系映射

    Ibatis,作为一个轻量级的Java ORM框架,提供了强大的功能来处理复杂的数据映射,其中包括一对多的关系映射。在这个场景下,我们将深入探讨Ibatis如何实现一对多的关系映射。 一对多关系在数据库设计中非常常见,它...

    IBATIS3代码生成器

    【标题】"IBATIS3代码生成器"是一款专为基于IBATIS3框架的项目设计的工具,它能够自动生成常见的SQL映射文件、Java DAO接口和实现类,大大提高了开发效率,降低了手动编写这些代码的工作量。该工具的核心理念是通过...

    ibatis实战之一对多关联(源代码)

    本篇将聚焦于iBatis的一对多关联映射实战,帮助开发者更好地理解和运用这一特性。 在关系型数据库中,一对多关联是非常常见的一种数据关系,例如一个用户可以拥有多个订单,一个部门可以包含多个员工等。在iBatis中...

    ibatis多对多关系(详细)

    iBatis多对多关系详解 iBatis是一种流行的持久层框架,用于简化Java应用程序和关系数据库之间的交互。在本文档中,我们将详细介绍iBatis在处理多对多关系时的配置和实现。 多对多关系 多对多关系是一种常见的关系...

    Mybatis/ibatiS多表映射 一对一 一对多 extjs前台取值 详细讲解

    总结来说,这个话题覆盖了Mybatis/iBatis中的多表映射,通过XML配置文件处理一对一和一对多关系,以及如何在ExtJS前端通过Model和Grid获取并展示这些数据。了解这些知识对于开发涉及多表交互的应用至关重要,能够...

    ibatis 3 核心包

    Ibatis 3是其最新版本,提供了一系列改进和新特性,以提高开发效率和系统的可维护性。 在Ibatis 3的核心包中,我们可以找到以下几个关键组成部分和知识点: 1. **SqlSessionFactoryBuilder**:这个类用于构建...

    ibatis3应用实例(oracle数据库)

    Ibatis3是一款优秀的Java持久层框架,它提供了灵活的SQL映射机制,使得开发者可以更好地控制数据库的交互。本篇将深入探讨Ibatis3在Oracle数据库环境下的具体应用实例,涵盖CRUD(创建、读取、更新、删除)操作以及...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...

    ibatis3开发指南

    ibatis3,作为Apache基金会下的开源项目,是一种对象关系映射(ORM)工具,它为Java开发者提供了一种优雅的方式,用于处理Java对象与关系型数据库管理系统(RDBMS)之间的数据映射。在过去,开发者不得不手动编写...

    ibatis3批量插入

    通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...

    ibatis 第一个程序

    标题 "iBatis 第一个程序" 暗示我们将探讨如何使用 iBatis,这是一个流行的持久层框架,用于简化 Java 应用程序中的数据库操作。iBatis 提供了一种方式,将 SQL 查询与应用程序代码分离,使得开发更加灵活且易于维护...

Global site tag (gtag.js) - Google Analytics