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