最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis-Plus多表聯合查詢并且分頁(3表聯合)

 更新時間:2020年08月24日 10:02:46   作者:Mr_ZhangAdd  
這篇文章主要介紹了MyBatis-Plus多表聯合查詢并且分頁(3表聯合),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

這3張表的關系是模型表Model  ===> 訓練表Training ===》應用表Application(大概的邏輯是:選擇應用,然后訓練,然后成為模型)

首先我們先建立實體Model(我使用的data注解不需要get set  @TableField(exist = false) 注解下的屬性 是相關聯表的屬性)

package cn.com.befery.dataai.po;

import java.util.Date;
import org.springframework.boot.jackson.JsonComponent;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import lombok.Data;

@JsonComponent()
@Data
@TableName("ai_model")
public class Model {
 @TableId(value = "model_id", type = IdType.AUTO)
 private Long modelID;
 private Long applicationId;
 private Long trainingId;
 private String modelName;
 // 描述
 private String modelDescribe;
 private String modelType;
 private Date createDate;
 private String filePath;
 private String fileName;
 private String daimension; //維度
 private Long status;

 @TableField(exist = false)
 private String applicationName;

 @TableField(exist = false)
 private String trainingName;

 @TableField(exist = false)
 private String order;

 @TableField(exist = false)
 private String orderdir; // 升序或降序
}

然后是第二個相關聯的表 應用表application表

package cn.com.befery.dataai.po;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import lombok.Data;

@Data
@TableName("ai_application")
public class Application implements Serializable{
 private static final long serialVersionUID = 1L;

 @TableId(value="application_id",type=IdType.AUTO)
 private Long applicationID;
 private String applicationName;
 private String filePath;
 private String fileName;
 private Long userId;
 private Date createDate;
 private Integer status;
 private String dimension; //維度
 
 @TableField(exist= false)
 private String userName; //關聯用戶表的名稱字段
 
 @TableField(exist = false)
 private String order;
 
 @TableField(exist = false)
 private String modelName;
 
 @TableField(exist = false)
 private String trainingName;
 
 @TableField(exist = false)
 private String orderdir;  //升序或降序
}

然后是相關聯的第3張表 訓練表traning

package cn.com.befery.dataai.po;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import lombok.Data;
@Data
@TableName("ai_training")
public class Training implements Serializable {
 private static final long serialVersionUID = 1L;

 @TableId(value = "training_id", type = IdType.AUTO)
 private Long trainingID;
 private Long serverId;  //服務器ID
 private Long applicationId; //應用ID
 private String trainingModel; //訓練模型
 private String trainingName; //訓練名稱
 private String dimensionInput; //輸入維度
 private String dimensionOutput; //輸出維度
 private Date createDate;
 private Integer status;
 
 @TableField(exist = false)
 private String applicationName;
 
 @TableField(exist = false)
 private String serverName;
 
 @TableField(exist = false)
 private String modelName;
 
 @TableField(exist = false)
 private String order; //排序字段
 
 @TableField(exist = false)
 private String orderdir;  //升序或降序
}

然后是DAO層:

package cn.com.befery.dataai.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

import cn.com.befery.dataai.po.Model;

public interface ModelDao extends BaseMapper<Model> {

 List<Model> selectModelPage(Pagination page,@Param(value = "model") Model model);
}

然后是xml(sql語句使用了別名,別名和實體中的一致,包括之后的前后臺交互,都取一致的名字,規(guī)范避免出錯)【我之所以使用 $ 符號是因為 如果使用#號他會當作字符串識別,他不會當作關鍵字識別,我使用#號不行】

<?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="cn.com.befery.dataai.dao.ModelDao">
 <select id="selectModelPage"
 resultType="cn.com.befery.dataai.po.Model">
 SELECT
 model.`model_id`,
 model.`model_name` as modelName,
 model.`status`as status,
 t.`training_name`as trainingName,
 ap.`application_name` as applicationName,
 model.`create_date` as createDate
 FROM
 ai_model model
 LEFT JOIN ai_training t
 ON t.`training_id` = model.`training_id`
 LEFT JOIN ai_application ap
 ON ap.`application_id` = t.`application_id`
 <where>
  1 = 1 
  <if test="model.modelName != null and model.modelName != ''">
  and model.`model_name` like '%${model.modelName}%'
  </if>
  order by ${model.order} ${model.orderdir} 
 </where>
 </select>

</mapper>

然后就是service:

package cn.com.befery.dataai.service;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;

import cn.com.befery.dataai.po.Model;
import cn.com.befery.dataai.vo.ResultCode;


public interface ModelService extends IService<Model>{
    //分頁 
 Page<Model> selectModelPage(int pageNo,int pageSize,Model model);
 
}

然后就是serviceImpl:(此處將接口中的  pageNo和pageSize封裝成到  分頁輔助類 page<T>中)

@Service
@Transactional
public class ModelServiceImpl extends ServiceImpl<ModelDao, Model> implements ModelService {

 @Autowired
 private ModelDao modelDao;

 @Override
 public Page<Model> selectModelPage(int pageNo, int pageSize, Model model) {
 // TODO Auto-generated method stub
 Page<Model> page = new Page<Model>(pageNo, pageSize);
 return page.setRecords(this.baseMapper.selectModelPage(page, model));
 }
}

然后就是Controller:

簡單說一下下面的參數:
1.orderNO(排序用的):是前臺傳過來的,根據orderNO(類似下標)找到前臺定義好的數據庫字段
2.order(排序用的):根據orderNO(類似下標)找到前臺定義好的數據庫字段
3.orderdir(排序用的:是asc   還是desc)
4.search(前臺模糊查詢使用的):前臺傳的名字,來進行模糊查詢

/**
 * @author zhangxuewei 三表查詢
 * @param param
 * @param request
 * @return
 */
 @ResponseBody
 @RequestMapping(value = "/modelPage")
 public ResponseData modlePage(SearchParam param, HttpServletRequest request) {
 logger.info("modlePage ...........");
 String orderNO = request.getParameter("order[0][column]");
 String order = request.getParameter("columns[" + orderNO + "][name]");
 String orderdir = request.getParameter("order[0][dir]");
 String search = request.getParameter("search[value]");

 int pageNo = param.getStart() / param.getLength() + 1;
 int pageSize = param.getLength();

 Model model = new Model();
 model.setModelName(search);
 model.setOrder(order);
 model.setOrderdir("asc".equals(orderdir) ? "asc" : "desc");
 Page<Model> pageDate = modelService.selectModelPage(pageNo, pageSize, model);

 return responseData(param.getDraw(), pageDate);
 }

這個是分頁返回公共類

package cn.com.befery.dataai.controller;

import org.springframework.stereotype.Controller;

import com.baomidou.mybatisplus.plugins.Page;

import cn.com.befery.dataai.vo.ResponseData;

@Controller
public class BaseController {

  /**
   * 
   * @param draw 重構次數
   * @param page 分頁數據
   * @return
   */
  public ResponseData responseData(String draw,Page<?> page){
   ResponseData res = new ResponseData();
   res.setData(page.getRecords());
   res.setDraw(draw);
   res.setRecordsFiltered((int)page.getTotal());
   res.setRecordsTotal((int)page.getTotal());
   return res;
  }
}

這個是ResponseDate實體類

package cn.com.befery.dataai.vo;
import java.util.List;

//@JsonInclude(Include.NON_NULL) 
public class ResponseData {
  
 /**
 * 
 */
// private static final long serialVersionUID = 1L;
 
 private String draw;
 
 private int recordsTotal;
 
 private int recordsFiltered;
 
 @SuppressWarnings("rawtypes")
 private List data;
} 

這是前端的html

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
 content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<!--[if lt IE 9]>
<script type="text/javascript" src="lib/html5.js"></script>
<script type="text/javascript" src="lib/respond.min.js"></script>
<script type="text/javascript" src="lib/PIE_IE678.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css"
 href="../static/h-ui/css/H-ui.min.css" rel="external nofollow" />
<link rel="stylesheet" type="text/css"
 href="../static/h-ui/css/H-ui.admin.css" rel="external nofollow" />
<link rel="stylesheet" type="text/css"
 href="../static/libs/Hui-iconfont/1.0.7/iconfont.css" rel="external nofollow" />
<link rel="stylesheet" type="text/css"
 href="../static/libs/icheck/icheck.css" rel="external nofollow" />
<link rel="stylesheet" type="text/css"
 href="../static/h-ui/skin/default/skin.css" rel="external nofollow" id="skin" />
<link rel="stylesheet" type="text/css"
 href="../static/h-ui/css/style.css" rel="external nofollow" />
<!--[if IE 6]>
<script type="text/javascript" src="http://lib.h-ui.net/DD_belatedPNG_0.0.8a-min.js" ></script>
<script>DD_belatedPNG.fix('*');</script>
<![endif]-->
<title>應用列表</title>
<style type="text/css">
.dataTables_wrapper .dataTables_length {
 float: left;
 padding-bottom: 0px;
 padding-top: 10px;
 padding-left: 20px;
}

.table tbody tr td:FIRST-CHILD {
 text-align: center;
}

.table tbody tr td {
 text-align: center;
}

.dataTables_wrapper .dataTables_filter {
 padding-bottom: 10px;
}

.mt-20 {
 margin-top: 10px;
}

.page-container {
 padding: 20px;
 padding-top: 0px;
}

.form-horizontal .form-label {
 text-align: left;
 width: 140px;
 padding-right: 0px;
}
</style>
</head>
<body>
 <nav class="breadcrumb">
 <i class="Hui-iconfont">&#xe67f;</i> 首頁 <span class="c-gray en">&gt;</span>
 模型和測試管理 <span class="c-gray en">&gt;</span> 模型列表 <a
  class="btn btn-success radius r" id="refresh"
  style="line-height: 1.6em; margin-top: 3px"
  href="javascript:location.replace(location.href);" rel="external nofollow" title="刷新"><i
  class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
 <div class="page-container">
 <!-- <div class="text-c"> 日期范圍:
 <input type="text" onfocus="WdatePicker({maxDate:'#F{$dp.$D(\'logmax\')||\'%y-%M-%d\'}',minDate:'#F{$dp.$D(\'logmax\',{M:-3})}'})" id="logmin" class="input-text Wdate" style="width:120px;">
 -
 <input type="text" onfocus="WdatePicker({maxDate:'#F{$dp.$D(\'logmin\',{M:3})||\'%y-%M-%d\'}',minDate:'#F{$dp.$D(\'logmin\')}'})" id="logmax" class="input-text Wdate" style="width:120px;">
 <input type="text" name="" id="search" placeholder=" 門店名稱" style="width:250px" class="input-text">
 <button name="" id="search" class="btn btn-success" type="submit" onclick="search()"><i class="Hui-iconfont">&#xe665;</i> 搜賬戶</button>
 </div> -->

 <!-- <div style="display: &lt;#if(modelServer)??&gt;${modelServer"
  class="cl pd-5 bg-1 bk-gray mt-20">
  <span class="l"> <a class="btn btn-primary radius" id="addApp"
  onclick="modelServerServer_add('創(chuàng)建模型服務','/pages/modelServer-add.html')"
  href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><i class="Hui-iconfont">&#xe600;</i> 創(chuàng)建模型服務</a><a
  id="datarefresh" onclick="data_refresh()"></a><input id="hiddentext"
  type="text" hidden="true" /> <input id="msgsecret" type="text"
  hidden="true" />
 </div> -->

 <div style="display: <#if (model)??>${model}<#else></#if>" class="cl pd-5 bg-1 bk-gray mt-20"> <span class="l"> <a class="btn btn-primary radius" id="addApp" onclick="model_testing('測試模型','/pages/model-testing.html')" href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><i class="Hui-iconfont">&#xe600;</i> 測試模型</a><a id="datarefresh" onclick="data_refresh()"></a><input id="hiddentext" type="text" hidden="true" /> <input id="msgsecret" type="text" hidden="true" /></div>
 <div class="mt-20">
  <table
  class="table table-border table-bordered table-bg table-hover table-sort "
  width=100%>
  <thead>
   <tr class="text-c">
   <!-- <th width="40"><input id = "checkAll" name="checkAll" type="checkbox" value=""></th> -->
   <th width="80">序號</th>
   <th width="80">模型服務名稱</th>
   <th width="100">訓練名稱</th>
   <th width="100">應用名稱</th>
   <th width="100">創(chuàng)建時間</th>
   <th width="80">操作</th>
   </tr>
  </thead>
  <tbody>

  </tbody>
  </table>
 </div>
 </div>
 <div id="ajaxModal" class="modal hide fade" tabindex="-1">
 <article class="page-container">
  <form action="" method="post" class="form form-horizontal"
  id="form-modelServer-add">
  <div class="row cl">
   <label class="form-label col-xs-3 col-sm-3"><span
   class="c-red">*</span>App名稱:</label>
   <div class="formControls col-xs-8 col-sm-9">
   <input type="text" class="input-text" value="" placeholder=""
    id="appName" name="appName">
   </div>
  </div>
  <div class="row cl">
   <label class="form-label col-xs-3 col-sm-3"><span
   class="c-red">*</span>圖片地址:</label>
   <div class="formControls col-xs-8 col-sm-9">
   <input type="text" class="input-text" value="" placeholder=""
    id="adminMobile" name="adminMobile">
   </div>
  </div>

  <div class="row cl">
   <label class="form-label col-xs-3 col-sm-3"><span
   class="c-red">*</span>Domain(SaaS):</label>
   <div class="formControls col-xs-8 col-sm-9">
   <input type="text" class="input-text" value="" placeholder=""
    id="payCallBackURL" name="payCallBackURL">
   </div>
  </div>

  <div class="row cl">
   <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3"
   style="margin-left: 130px; width: 100px;">
   <button class="btn btn-primary radius" value="">&nbsp;&nbsp;提交&nbsp;&nbsp;</button>
   </div>
   <!-- <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3" style="float: right; width: 250px;margin-left: 0px;">
  <input class="btn btn-primary radius" style="width: 80px;" onclick="javascript:;" value="&nbsp;&nbsp;取消&nbsp;&nbsp;">
  </div> -->
  </div>
  </form>
 </article>
 </div>
 <script type="text/javascript"
 src="../static/libs/jquery/1.9.1/jquery.min.js"></script>
 <script type="text/javascript" src="../static/libs/layer/2.1/layer.js"></script>
 <script type="text/javascript"
 src="../static/libs/My97DatePicker/WdatePicker.js"></script>
 <script type="text/javascript"
 src="../static/libs/datatables/1.10.0/jquery.dataTables.min.js"></script>
 <script type="text/javascript" src="../static/h-ui/js/H-ui.js"></script>
 <script type="text/javascript" src="../static/h-ui/js/H-ui.admin.js"></script>
 <!-- <script type="text/javascript" src="js/modelServer.js"></script> -->
 <script type="text/javascript">
 var table = $('.table-sort')
  .DataTable(
   {
    "processing" : true,
    "serverSide" : true,
    // "searching":true,
    'language' : {
    "search" : "按名稱檢索:",
    "sProcessing" : "<div style='position:absolute;margin-left:42%;margin-top:15%'><img src='static/h-ui/images/loading_072.gif'/>數據加載中...</div>",
    },

    "sDom" : '<"top"f<"clear">>rt<"bottom"ilp><"clear">',
    "order" : [
    [ 
     0, "asc" 
     ] 
    ],
    "ajax" : {
    "url" : "/model/modelPage",
    /* "data": function ( d ) {
     //添加額外的參數傳給服務器
      d.extra_search = "canshu1";
     d.extra_search1 = "canshu11"; 
    }, */
    },
    "columnDefs" : [ {
    orderable : false,//禁用排序
    targets : [ 4 ]
    } ],
    "columns" : [
     /*{"sTitle": "<input type='checkbox'></input>","mDataProp": null, "sWidth": "20px", "sDefaultContent": "<input type='checkbox' ></input>", "bSortable": false,"sClass": "text-center",}, */

     {
     "data" : "modelID",
     "name" : "model_id",
     "class" : "modelID"
     },
     {
     "data" : "modelName",
     "name" : "model_name",
     "class" : "modelName"
     },
     {
     "data" : "trainingName",
     "name" : "training_name",
     "class" : "trainingName"
     },
     {
     "data" : "applicationName",
     "name" : "application_name",
     "class" : "applicationName"
     },
     {
     "data" : function(e) {
      if (e.createDate != null
       && e.createDate != "null") {
      return e.createDate;
      }
      return "";
     },
     "name" : "create_date",
     "class" : "createDate"
     },
     {
     "data" : function(e) {
      if (e.status == '0') {
      if (e.isTrained == '0') {
       return '<a style="display: <#if (modelServer_delete)??>${modelServer_delete}<#else></#if>" title="刪除" href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick=modelServer_del(this,"'
        + e.modelID
        + '") class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6e2;</i></a>';
      } else {
       return '<a style="display: <#if (modelServer_delete)??>${modelServer_delete}<#else></#if>" title="刪除" href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick=modelServer_del(this,"'
        + e.modelID
        + '") class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6e2;</i></a>';
      }
      } else {
      if (e.isTrained == '0') {
       return '<a style="display: <#if (modelServer_delete)??>${modelServer_delete}<#else></#if>" title="刪除" href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick=modelServer_del(this,"'
        + e.modelID
        + '") class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6e2;</i></a>';
      } else {
       return '<a style="display: <#if (modelServer_delete)??>${modelServer_delete}<#else></#if>" title="刪除" href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick=modelServer_del(this,"'
        + e.modelID
        + '") class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6e2;</i></a>';
      }
      }
     },
     "class" : "td-manage"
     } ],

   });

 table.on('draw.dt', function() {
 });

 $('.table-sort tbody').on('click', 'tr', function() {
  if ($(this).hasClass('selected')) {
  $(this).removeClass('selected');
  } else {
  table.$('tr.selected').removeClass('selected');
  $(this).addClass('selected');
  }
 });
 //});

 function refreshRow() {

 }

 function initComplete(data) {
  //選擇時間后觸發(fā)重新加載的方法
  $("#logmin").on('apply.input-text', function() {
  //當選擇時間后,出發(fā)dt的重新加載數據的方法
  table.ajax.reload();
  //獲取dt請求參數
  var args = table.ajax.params();
  console.log("額外傳到后臺的參數值extra_search為:" + args.extra_search);
  });
 }

 function filterGlobal() {
  alert($('#search').val());
  $('.table-sort').DataTable().search($('#search').val()).draw();
 }

 function search() {
  table.ajax.reload();
  //獲取dt請求參數
  var args = table.ajax.params();
  console.log("額外傳到后臺的參數值extra_search為:" + args.extra_search);
  // filterGlobal();

 }
 /*賬戶-添加*/
 function modelServerServer_add(title, url) {
  layer_show(title, url, 550, 300);
 }
 function data_refresh() {
  var text = $('#hiddentext').val();
  if (text == 'add') {
  layer.alert($('#msgsecret').val());
  /* layer.msg('添加成功!',{icon: 6,time:1000}); */
  }
  if (text == 'update') {
  layer.msg('更新成功!', {
   icon : 6,
   time : 1000
  });
  }
  table.ajax.reload();
 }


 /*app-刪除*/
 function modelServer_del(obj, id) {
  layer.confirm('確認要刪除嗎?', function(index) {
  //此處請求后臺程序,下方是成功后的前臺處理……
  if (index) {
   $.ajax({
   type : 'POST',
   url : '/model/deleteModel',
   data : {
    modelID : id,
   },
   success : function(result) {
    if (result.code == "0") {
    $(obj).parents("tr").remove();
    layer.msg('已刪除!', {
     icon : 1,
     time : 1000
    });
    } else {
    layer.msg('刪除失敗!', {
     icon : 5,
     time : 1000
    });
    }
   },
   error : function(jqXHR, textStatus, errorThrown) {
    layer.msg(errorThrown, {
    icon : 5,
    time : 1000
    });
   }
   });
  } else {
   alert(33)
  }
  });
 }

 /*reset secret*/
 function reset_secret(obj, id) {

  layer.confirm('確認要重置Secret嗎?', function(index) {
  //此處請求后臺程序,下方是成功后的前臺處理……
  if (index) {
   $.ajax({
   type : 'POST',
   url : 'modelServer/resetSecret',
   data : {
    appID : id,
   },
   success : function(result) {
    if (result.code == "0") {
    layer.alert('Secret is: ' + result.msg);
    } else {
    layer.alert('重置失??!');
    }
   },
   error : function(jqXHR, textStatus, errorThrown) {
    layer.msg(errorThrown, {
    icon : 5,
    time : 1000
    });
   }
   });
  } else {
   alert(33)
  }
  });
 }

 function modelServer_edit(obj, id) {
  var modelServerID = $(obj).parents("tr").find(".modelServerID").text();
  var appName = $(obj).parents("tr").find(".appName").text();
  var imageLibId = $(obj).parents("tr").find(".imageLibId").val();
  var domainId = $(obj).parents("tr").find(".domainId").val();
  /*var url = "pages/modelServer-update.html?te=66&tt=88";*/
  var url = "pages/modelServer-update.html?appName=" + appName
   + "&imageLibId=" + imageLibId + "&modelServerID=" + id
   + "&domainId=" + domainId;

  layer_show("修改App", encodeURI(url), 550, 350);

  /* var data = table.row( $(this).parents('tr') ).data();
  alert(data)
  var fields = $("#add-form").serializeArray();
  jQuery.each( fields, function(i, field){
    //jquery根據name屬性查找
    $(":input[name='"+field.name+"']").val(data[i]);
  });
  $(":input[name='mark']").val("edit");
  $("#ajaxModal").modal("show");//彈出框show
  */

 }

 function modelServerServer_training(obj, id) {
  window.location.href = "pages/modelServer-train.html?appID=" + id;
 }
 
 function model_testing(title,url){
  layer_show(title,url,550,300);
 }
 </script>
</body>
</html>

到此這篇關于MyBatis-Plus多表聯合查詢并且分頁(3表聯合)的文章就介紹到這了,更多相關MyBatis-Plus多表聯合查詢內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mybatis-plus版本不兼容問題的解決

    mybatis-plus版本不兼容問題的解決

    本文主要介紹了mybatis-plus與spring-boot3版本不兼容導致的BeanDefinitionStoreException問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 這一次搞懂Spring事務是如何傳播的

    這一次搞懂Spring事務是如何傳播的

    這篇文章主要介紹了這一次搞懂Spring事務是如何傳播的,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 聊聊Lombok中的@Builder注解使用教程

    聊聊Lombok中的@Builder注解使用教程

    @Builder注解的作用主要是用來生成對象,并且可以為對象鏈式賦值。接下來通過本文給大家介紹Lombok中的@Builder注解使用教程,感興趣的朋友一起看看吧
    2021-11-11
  • java并發(fā)編程專題(二)----如何創(chuàng)建并運行java線程

    java并發(fā)編程專題(二)----如何創(chuàng)建并運行java線程

    這篇文章主要介紹了java并發(fā)編程如何創(chuàng)建并運行java線程,文中講解非常詳細,示例代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06
  • Spring源碼解析后置處理器梳理總結

    Spring源碼解析后置處理器梳理總結

    這篇文章主要介紹了Spring源碼解析后置處理器梳理總結,在前面幾篇文章中梳理了Spring中bean的創(chuàng)建過程,在這個過程中各式各樣的后置處理器發(fā)揮了不同的作用,可以說后置處理器貫穿了bean的實例化以及初始化過程
    2022-07-07
  • 基于RestTemplate的使用方法(詳解)

    基于RestTemplate的使用方法(詳解)

    下面小編就為大家?guī)硪黄赗estTemplate的使用方法(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Java加載ICC文件的方法和示例代碼

    Java加載ICC文件的方法和示例代碼

    ICC文件,通常用于顏色管理,定義了如何將一個顏色空間轉換為另一個顏色空間,在Java中,我們可能需要加載這些文件來進行顏色轉換或管理,本文將為您提供加載ICC文件的方法和示例代碼,需要的朋友參考下吧
    2023-08-08
  • Spring框架的JdbcTemplate使用

    Spring框架的JdbcTemplate使用

    它是 Spring 框架中提供的一個對象,是對原始 Jdbc API 對象的簡單封裝。本文就來介紹一下Spring框架的JdbcTemplate使用,感興趣的可以了解一下
    2021-09-09
  • Spring MVC請求參數的傳遞方式

    Spring MVC請求參數的傳遞方式

    Spring MVC是一種基于Model-View-Controller(MVC)設計模式的輕量級Web框架,用于Java應用程序的開發(fā),在處理HTTP請求時,Spring MVC會涉及到請求參數的傳遞,本文給大家介紹了Spring MVC請求參數的傳遞方式,需要的朋友可以參考下
    2024-10-10
  • java9學習筆記之模塊化詳解

    java9學習筆記之模塊化詳解

    Java 9中最重要的功能,毫無疑問就是模塊化(Module),下面這篇文章主要給大家介紹了關于java9學習筆記之模塊化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2018-04-04

最新評論

贺州市| 邹城市| 葵青区| 乌兰察布市| 巴马| 芮城县| 安多县| 罗江县| 额尔古纳市| 沛县| 阿拉善左旗| 威宁| 开平市| 德惠市| 桑日县| 永修县| 砀山县| 茌平县| 兴海县| 漳平市| 万源市| 怀仁县| 奈曼旗| 军事| 兴隆县| 乳源| 沐川县| 宣化县| 格尔木市| 麟游县| 安泽县| 铜梁县| 丰城市| 历史| 长沙县| 白河县| 绥江县| 蓬安县| 平山县| 茌平县| 阿合奇县|