Mapper多表關聯查詢學習

1、首先寫sql語句

select p.id, p.create_time, p.update_time, p.create_user, p.update_user, p.project_name, p.test_user, 
    p.dev_user, p.simple_desc, p.other_desc, p.project_code, p.belong_env_id, p.status_id,u.status_name,u.description from projectinfo_temp p LEFT JOIN usestatus u on p.status_id = u.id

2、關聯pojo


@ToString
public class ProjectinfoTemp {

    private Integer id;

    private Date createTime;

    private Date updateTime;

    private String createUser;

    private String updateUser;

    private String projectName;

    private String testUser;

    private String devUser;

    private String simpleDesc;

    private String otherDesc;

    private String projectCode;

    private Integer belongEnvId;

    private Integer statusId;
    /**
     *  關聯狀態表 激活狀態
     */
    private Usestatus usestatus;

狀態表

/**
 *
 * @author liwen406
 * @date 2019-04-21 09:12
 */
@ToString
public class Usestatus {
    private Integer id;

    private String statusName;

    private String description;

3編寫關聯sql語句

模仿寫法


<sql id="WithBase_Column_List" >
p.id, p.create_time, p.update_time, p.create_user, p.update_user, p.project_name, p.test_user,
p.dev_user, p.simple_desc, p.other_desc, p.project_code, p.belong_env_id, p.status_id,u.status_name,u.description
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.apitest.pojo.ProjectinfoTempExample" >
    select
    <if test="distinct" >
      distinct
    </if>
    <include refid="Base_Column_List" />
    from projectinfo_temp
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null" >
      order by ${orderByClause}
    </if>
  </select>

  <select id="selectByExamplestart" resultMap="WithBaseResultMap"  >
    select
    <if test="distinct" >
      distinct
    </if>
    <include refid="WithBase_Column_List" />
    from projectinfo_temp p LEFT JOIN usestatus u on p.status_id = u.id
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null" >
      order by ${orderByClause}
    </if>
  </select>

4前端調用寫法

<div class="x_content">
                                <table id="datatable" class="table table-striped table-bordered">
                                    <thead>
                                    <tr>
                                        <th class="table-title">應用編號</th>
                                        <th class="table-title">應用名稱</th>
                                        <th class="table-title">測試負責人</th>
                                        <th class="table-title">開發負責人</th>
                                        <th class="table-title">模塊/接口/用例</th>
                                        <th class="table-title">狀態</th>
                                        <th class="table-title">操作</th>
                                    </tr>
                                    </thead>
                                    <tbody>
                                    <tr th:each="pagefo:${pageInfo.list}">
                                        <td th:text="${pagefo.projectCode}"></td>
                                        <td th:text="${pagefo.projectName}"></td>
                                        <td th:text="${pagefo.testUser}"></td>
                                        <td th:text="${pagefo.devUser}"></td>
                                        <td th:text="${pagefo.belongEnvId}"></td>
                                        <td th:text="${pagefo.usestatus.statusName}"></td>
                                        <td>
                                            <a type="button" class="fa fa-bug btn  btn-round btn-success"
                                               th:href="@{/run/}+${pagefo.projectCode}">運行</a>
                                            <a type="button" class="fa fa-edit btn btn-round btn-info"
                                               th:href="@{/cache/editProjectInf/}+${pagefo.projectCode}">編輯</a>
                                            <a type="button" class="fa fa-trash-o btn  btn-round btn-danger"
                                               th:href="@{/deleteProjectinfoTemp/}+${pagefo.projectCode}">刪除</a>
                                        </td>
                                    </tr>
                                    </tbody>
                                </table>
                                <div class="box-footer">
                                    <div class="pull-left">
                                        <div class="form-group form-inline">
                                            <span th:text="'共'+${pageInfo.getPages()}+'頁'"></span>,
                                            <span th:text="'當前爲'+${pageInfo.getPageNum()}+'頁'"></span>
                                            <span th:text="'總'+${pageInfo.getTotal()}+'條記錄'"></span>
                                        </div>
                                    </div>

                                    <div class="box-tools pull-right">
                                        <ul class="pagination">
                                            <li><a th:href="@{/cache/project_list_cache(start=0)}"
                                                   aria-label="Previous">[首 頁]</a></li>
                                            <li><a th:href="@{/cache/project_list_cache(start=${pageInfo.pageNum-1})}">[上一頁]</a>
                                            </li>
                                            <li><a th:href="@{/cache/project_list_cache(start=${pageInfo.pageNum+1})}">[下一頁]</a>
                                            </li>
                                            <li><a th:href="@{/cache/project_list_cache(start=${pageInfo.pages})}"
                                                   aria-label="Next">[尾 頁]</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>

5、訪問結果顯示

Mapper多表關聯查詢學習

堅持就是勝利

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章