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 参数,关联对象。。



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值