• Mybatis两表连接(一对一)


    OrderJudgeMapper.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.datangedu.cn.dao.mapper.OrderJudgeMapper">
    	<resultMap type="com.datangedu.cn.model.BusinessOrder" id="OrderJudgeMap">
    		<id property="id" column="bid" />
        	<result column="SERVER_ID" jdbcType="VARCHAR" property="serverId" />
        	<result column="ORDER_INFO" jdbcType="VARCHAR" property="orderInfo" />
        	<result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
        	<!-- association :配置一对一属性 -->
    		<!-- property:实体类中里面的  属性名 -->
    		<!-- javaType:属性类型 -->
    		<association property="serviceJudge" javaType="com.datangedu.cn.model.ServiceJudge">
    			<id property="id" column="sid" />
    			<result column="ORDER_ID" jdbcType="VARCHAR" property="orderId" />
        		<result column="CONTENT" jdbcType="VARCHAR" property="content" />
        		<result column="TYPE" jdbcType="INTEGER" property="type" />
        		<result column="STATUS" jdbcType="INTEGER" property="status" />
    		</association>
    	</resultMap>
    	<select id="selectOrderJudge" parameterType="java.lang.String" resultMap="OrderJudgeMap">
    		<!--SELECT b.id bid,SERVER_ID,ORDER_INFO,CREATE_TIME,s.id sid,ORDER_ID,CONTENT,TYPE,s.STATUS
    			FROM business_order b
    			LEFT JOIN service_judge s ON b.id=ORDER_ID
    			WHERE b.id=ORDER_ID -->
    		SELECT b.id bid,SERVER_ID,ORDER_INFO,CREATE_TIME,s.id sid,ORDER_ID,CONTENT,TYPE,s.STATUS
    		FROM business_order b
    		LEFT JOIN service_judge s ON b.id=ORDER_ID
    		WHERE b.id=ORDER_ID and s.STATUS=#{status}
    	</select>
    </mapper>
    

    实体类

    package com.datangedu.cn.model;
    
    import java.util.Date;
    
    import org.springframework.stereotype.Component;
    @Component
    public class BusinessOrder {
        private String id;
        private String businessNo;
        private String serverId;
        private Integer buynum;
        private String orderInfo;
        private Integer status;
        private Integer totalPrice;
        private Integer payType;
        private String memberId;
        private Date createTime;
    
        private ServiceJudge serviceJudge;//ServiceJudge的对象
    
        //此处应该重写hashcode和equals方法
    	@Override
    	public String toString() {
    		return "BusinessOrder:" + id + "-" +createTime + "serviceJudge:" + serviceJudge.getId() + "-" + serviceJudge.getContent();
    	}
    }
    
    

    controller层

    @ResponseBody
    	@RequestMapping("/selectOrderJudge")
    	public Map<String,Object> eCommerceEvaluate(String status) {
    		Map<String,Object> map = new HashMap<String,Object>();
    		//System.out.println(status);
    		List<BusinessOrder> businessOrderList = orderJudgeService.selectOrderJudge(status);
    		//System.out.println(businessOrderList);
    		if(businessOrderList.size()>0) {
    			map.put("businessOrderList", businessOrderList);
    			map.put("code", 1);
    		}else {
    			map.put("code", 0);
    		}
    		return map;
    	}
    
    

    js

    $(".content-nav li").on("click", function(event){
        $(".content-nav li").removeClass("nav-active");
        $(event.target).addClass("nav-active");
        //alert("value=" + $(".nav-active .status").val());
        var status = $(".nav-active .status").val();
        $.ajax({
            url:"/selectOrderJudge",
            type:"post",
            data:{"status":status},
            success:function (data) {
            	console.log(data);
            	if(data.code==1){
            		var str = "";
            		$.each(data.businessOrderList,function(index,item){
            			if(item.serviceJudge.status==1){
            				str=`
                				<img src="" alt="图片" />
                				<ul class="article-info">
                					<li text="` + item.orderInfo +`"> ` + item.orderInfo + `</li>
                				</ul>
                				<p th:text="` + item.createTime + `">`+ item.createTime +`</p>
                				<p class="evaluate_btn">去评价</p>
                			`;
            			}else{
            				str=`
                				<img src="" alt="图片" />
                				<ul class="article-info">
                					<li text="` + item.orderInfo +`"> ` + item.orderInfo + `</li>
                				</ul>
                				<p th:text="` + item.createTime + `">`+ item.createTime +`</p>
                				<p class="evaluate_btn">已评价</p>
                			`;
            			}
            		});
            		
            		$(".article").html(str);
            	}else{
            		$(".article").html("<p style='font-size:20px'>未找到订单</p>");;
            	}
            },
            error:function(){
            	console.error(arguments[1]);
            }
        });
    })
    
    

    人生之事岂能尽如人意,生活如戏,哭笑皆由人,悲喜自己定
  • 相关阅读:
    以正确的方式开源 Python 项目
    一个备胎的自我修养
    关于我们 | 读书马上
    基于libevent, libuv和android Looper不断演进socket编程
    libuv 与 libev 的对比
    OCaml Language Sucks
    Practical Common Lisp
    learning
    WebApi系列~QQ互联的引入(QConnectSDK)
    知方可补不足~用xsl来修饰xml
  • 原文地址:https://www.cnblogs.com/Hephaestus/p/11897924.html
Copyright © 2020-2023  润新知