• MyBatis-Plus通过注解的方式绑定一对多查询


    有一个查询活动的方法需要把所属组织放到实体里面,通过绑定自定义resultMap实现一对多查询

    实现思路

    首先创建一个对应的Mapper然后在Mapper中自定义resultMap和查询方法,然后通过mybatis中的TableName注解的resultMap绑定

    在application.yml中配置Mapper扫描路径

    mybatis-plus:
      mapper-locations: classpath*:static/mapper/*Mapper.xml
    

    自定义ActivitiesMapper.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.school.demo.mapper.auto.ActivitiesMapper">
    
        <!-- 通用查询映射结果 -->
        <resultMap id="ActivitiesResultMap" type="com.school.demo.model.auto.Activities">
            <id column="id" property="id" />
            <result column="origanization_id" property="origanizationId" />
            <result column="up_time" property="upTime" />
            <result column="view_num" property="viewNum" />
            <result column="content" property="content" />
            <result column="label" property="label" />
            <result column="title" property="title" />
            <result column="status" property="status" />
            <result column="is_set_join_num" property="isSetJoinNum" />
            <result column="imgs" property="imgs" />
            <result column="column_11" property="column11" />
            <result column="column_12" property="column12" />
            <association property="organization" column="origanization_id" select="findOrganization" />
            <association property="peopleNumManagement" column="id" select="findDate" />
        </resultMap>
    
        <select id="findOrganization" resultType="com.school.demo.model.auto.Organization">
            SELECT * FROM organization WHERE id = #{origanizationId}
        </select>
    
        <select id="findDate" resultType="com.school.demo.model.auto.PeopleNumManagement">
            SELECT * FROM people_num_management WHERE a_id = #{id}
        </select>
    
    
    </mapper>
    
    

    配置实体类

    import com.baomidou.mybatisplus.annotation.TableName;
    
    @TableName(resultMap = "ActivitiesResultMap")
    public class Activities extends Model {
    

    之后继续使用mybatis-plus的各种方法可以正常使用,例如分页之类

  • 相关阅读:
    致应届毕业生——程序员的生存法则 转自CSDN 作者:陈丽辉
    TIOBE 8月份编程语言排行榜,F#强势插入
    C–gcc命令行下的参数
    转载sunboy_2050 Android APK反编译详解(附图)
    转载IT168 分析:Python在Linux平台上的发展前景
    PHP 简单学习过程1
    买火车票必须知道的事
    Delphi PointerMath编译指令
    给DropDownList的DataTextField属性绑定两个字段
    通过HttpModule、httpHandlers防止SQL注入式攻击
  • 原文地址:https://www.cnblogs.com/charlottepl/p/14699141.html
Copyright © 2020-2023  润新知