配置文件:
<?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 参数,关联对象。。