mybatis表关系映射

Movice.java:

public class Movice {
    private int mid;
    private String mname;
    private MoviceType moviceType;

    public Movice(int mid, String mname, MoviceType moviceType) {
        this.mid = mid;
        this.mname = mname;
        this.moviceType = moviceType;
    }

    public Movice() {
    }

    public int getMid() {
        return mid;
    }

    public void setMid(int mid) {
        this.mid = mid;
    }

    public String getMname() {
        return mname;
    }

    public void setMname(String mname) {
        this.mname = mname;
    }

    public MoviceType getMoviceType() {
        return moviceType;
    }

    public void setMoviceType(MoviceType moviceType) {
        this.moviceType = moviceType;
    }

    @Override
    public String toString() {
        return "Movice{" +
                "mid=" + mid +
                ", mname='" + mname + '\'' +
                ", moviceType=" + moviceType +
                '}';
    }
}

MoviceType.java:

public class MoviceType {
    private int typeid;
    private String typename;
    private List<Movice> movices;

    public MoviceType(int typeid, String typename, List<Movice> movices) {
        this.typeid = typeid;
        this.typename = typename;
        this.movices = movices;
    }

    public MoviceType() {
    }

    public int getTypeid() {
        return typeid;
    }

    public void setTypeid(int typeid) {
        this.typeid = typeid;
    }

    public String getTypename() {
        return typename;
    }

    public void setTypename(String typename) {
        this.typename = typename;
    }

    public List<Movice> getMovices() {
        return movices;
    }

    public void setMovices(List<Movice> movices) {
        this.movices = movices;
    }

    @Override
    public String toString() {
        return "MoviceType{" +
                "typeid=" + typeid +
                ", typename='" + typename + '\'' +
                ", movices=" + movices +
                '}';
    }
}

MoviceMapper.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">

<!--namespace命名空间,namespace必须为长类名-->
<mapper namespace="com.wance.mapper.MoviceMapper">
    <resultMap id="MoviceResultMap" type="Movice">
        <id property="mid" column="mid"/>
        <result property="mname" column="mname"/>
        <!--column为外键属性 -->
        <association property="moviceType" column="typeid" javaType="MoviceType">
            <id property="typeid" column="typeid"/>
            <result property="typename" column="typename"/>
        </association>
    </resultMap>
    <select id="findLasttestMovice" resultMap="MoviceResultMap">
        select movie.*,movietype.typename from movie,movietype where movie.typeid=movietype.typeid and mid=(SELECT MAX(mid) from movie)
    </select>


</mapper>

MoviceTypeMapper.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">

<!--namespace命名空间,namespace必须为长类名-->
<mapper namespace="com.wance.mapper.MoviceTypeMapper">
    <resultMap id="MoviceTypeResultMap" type="MoviceType">
        <id property="typeid" column="typeid"/>
        <result property="typename" column="typename"/>
        <collection property="movices" fetchType="lazy" ofType="Movice" select="findMovieByid" column="typeid">
            <id property="mid" column="mid"/>
            <result property="mname" column="mname"/>
        </collection>
    </resultMap>
    <!--查找单表 -->
    <select id="findById" parameterType="int" resultMap="MoviceTypeResultMap">
      select * from movietype where typeid=#{typeid}
    </select>

    <!--根据typeid,查找movie表 -->
    <select id="findMovieByid" parameterType="int" resultType="Movice">
        select * from movie where typeid=#{typeid}
    </select>

</mapper>

collection标签:

    <!--
        select:
            指定关联查询的查询statement
            即根据商品分类ID查询商品的statement的id
            然后将查询结果封装到property属性指定的变量中
        column:
            指定列的值作为
            com.ielm.mapper.ProductMapper.getByCategoryId()的查询参数
    -->
    <collection property="productList"
                select="com.ielm.mapper.ProductMapper.getByCategoryId"
                column="category_id"
    />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java后端指南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值