mybatis一对多 多对一

一、一对多:
实体类

package com.ming.entity;

import java.util.List;

public class Station {
    private String Sname;
    private String Sintroduction;
    private String Stel;
    private List<Staff> staffs;

    public String getSname() {
        return Sname;
    }

    public void setSname(String sname) {
        Sname = sname;
    }

    public String getSintroduction() {
        return Sintroduction;
    }

    public void setSintroduction(String sintroduction) {
        Sintroduction = sintroduction;
    }

    public String getStel() {
        return Stel;
    }

    public void setStel(String stel) {
        Stel = stel;
    }

    public List<Staff> getStaffs() {
        return staffs;
    }

    public void setStaffs(List<Staff> staffs) {
        this.staffs = staffs;
    }

    @Override
    public String toString() {
        return "Station [Sname=" + Sname + ", Sintroduction=" + Sintroduction + ", Stel=" + Stel + "]";
    }

}
package com.ming.entity;

public class Staff {
    private String staffNum;
    private String paswrod;
    private String conpany;

    public String getStaffNum() {
        return staffNum;
    }

    public void setStaffNum(String staffNum) {
        this.staffNum = staffNum;
    }

    public String getPaswrod() {
        return paswrod;
    }

    public void setPaswrod(String paswrod) {
        this.paswrod = paswrod;
    }

    public String getConpany() {
        return conpany;
    }

    public void setConpany(String conpany) {
        this.conpany = conpany;
    }

}

mybatis 配置文件

<?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.ming.dao.StationDao">
    <!-- <select id="getAll" resultType="Station"> -->
    <!-- SELECT -->
    <!-- Sname,Sintroduction,Stel -->
    <!-- FROM station -->
    <!-- limit #{offset}, #{limit} -->
    <!-- </select> -->
    <!--type="Station"为返回值类型 -->
    <resultMap type="Station" id="allStaff">
        <!-- id为主键 column为表字段名 property为实体类中的属性 -->
        <id column="Sname" property="Sname" />
        <result column="Sintroduction" property="Sintroduction" />
        <result column="Stel" property="Stel" />
        <!--property="staffs"是实体类中的集合名字 column="Sname"是主表中对应集合的字段 ofType是集合中的实体类 -->
        <collection property="staffs" column="Sname" ofType="Staff">
            <id column="staffNum" property="staffNum" />
            <result column="paswrod" property="paswrod" />
            <result column="conpany" property="conpany" />
        </collection>
    </resultMap>

    <select id="getAllStaff" resultMap="allStaff">
        select
        s.*,f.*
        from station
        s,staff f
        where s.Sname=f.conpany
        limit #{page.itemStart},
        #{page.pageSize}

    </select>

</mapper>

二、多对一

package com.ming.entity;

import java.util.Date;

/**
 * Created by ming on 2016/7/8.
 */
public class SuccessKilled {
    private long seckillId;
    private long userPhone;
    private short state;
    private Date createTime;
    private Seckill seckill;

    public long getSeckillId() {
        return seckillId;
    }

    public void setSeckillId(long seckillId) {
        this.seckillId = seckillId;
    }

    public long getUserPhone() {
        return userPhone;
    }

    public void setUserPhone(long userPhone) {
        this.userPhone = userPhone;
    }

    public short getState() {
        return state;
    }

    public void setState(short state) {
        this.state = state;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Seckill getSeckill() {
        return seckill;
    }

    public void setSeckill(Seckill seckill) {
        this.seckill = seckill;
    }

    @Override
    public String toString() {
        return "SuccessKilled{" +
                "seckillId=" + seckillId +
                ", userPhone=" + userPhone +
                ", state=" + state +
                ", createTime=" + createTime +
                ", seckill=" + seckill +
                '}';
    }
}
package com.ming.entity;

import java.util.Date;

/**
 * Created by ming on 2016/7/8.
 */
public class Seckill {

    private long seckillId;
    private String name;
    private int number;
    private Date startTime;
    private Date endTime;
    private Date createTime;

    public long getSeckillId() {
        return seckillId;
    }

    public void setSeckillId(long seckillId) {
        this.seckillId = seckillId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {

        return "Seckill{" +
                "seckillId=" + seckillId +
                ", name='" + name + '\'' +
                ", number=" + number +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", createTime=" + createTime +
                '}';
    }
}
<?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.ming.dao.SuccessKilledDao">
    <insert id="insertSuccessKilled">
        INSERT ignore INTO  success_killed (seckill_id,user_phone)
        VALUES (#{seckillId},#{userPhone})
    </insert>

    <select id="queryByIdWithSeckill" resultType="SuccessKilled">
        SELECT
        sk.seckill_id,
        sk.user_phone,
        sk.state,
        s.seckill_id "seckill.seckill_id",
        s.name "seckill.name",
        s.number "seckill.number",
        s.start_time "seckill.start_time",
        s.end_time "seckill.end_time",
        s.create_time "seckill.create_time"

        FROM success_killed sk INNER JOIN seckill s
        ON sk.seckill_id=s.seckill_id
        WHERE sk.seckill_id=#{seckillId}

    </select>

</mapper>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值