一、一对多:
实体类
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>