久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:150日期:2023-10-23 10:28:28

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

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

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; // 升序或降序}

然后是第二個(gè)相關(guān)聯(lián)的表 應(yīng)用表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; //關(guān)聯(lián)用戶表的名稱字段 @TableField(exist = false) private String order; @TableField(exist = false) private String modelName; @TableField(exist = false) private String trainingName; @TableField(exist = false) private String orderdir; //升序或降序}

然后是相關(guān)聯(lián)的第3張表 訓(xùn)練表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; //服務(wù)器ID private Long applicationId; //應(yīng)用ID private String trainingModel; //訓(xùn)練模型 private String trainingName; //訓(xùn)練名稱 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語句使用了別名,別名和實(shí)體中的一致,包括之后的前后臺交互,都取一致的名字,規(guī)范避免出錯(cuò))【我之所以使用 $ 符號是因?yàn)?如果使用#號他會(huì)當(dāng)作字符串識別,他不會(huì)當(dāng)作關(guān)鍵字識別,我使用#號不行】

<?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 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@Transactionalpublic 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:

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

/** * @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); }

這個(gè)是分頁返回公共類

package cn.com.befery.dataai.controller;import org.springframework.stereotype.Controller;import com.baomidou.mybatisplus.plugins.Page;import cn.com.befery.dataai.vo.ResponseData;@Controllerpublic class BaseController { /** * * @param draw 重構(gòu)次數(shù) * @param page 分頁數(shù)據(jù) * @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; }}

這個(gè)是ResponseDate實(shí)體類

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='http://www.gepszalag.com/bcjs/lib/html5.js'></script><script type='text/javascript' src='http://www.gepszalag.com/bcjs/lib/respond.min.js'></script><script type='text/javascript' src='http://www.gepszalag.com/bcjs/lib/PIE_IE678.js'></script><![endif]--><link rel='stylesheet' type='text/css' href='http://www.gepszalag.com/static/h-ui/css/H-ui.min.css' rel='external nofollow' /><link rel='stylesheet' type='text/css' href='http://www.gepszalag.com/static/h-ui/css/H-ui.admin.css' rel='external nofollow' /><link rel='stylesheet' type='text/css' href='http://www.gepszalag.com/static/libs/Hui-iconfont/1.0.7/iconfont.css' rel='external nofollow' /><link rel='stylesheet' type='text/css' href='http://www.gepszalag.com/static/libs/icheck/icheck.css' rel='external nofollow' /><link rel='stylesheet' type='text/css' href='http://www.gepszalag.com/static/h-ui/skin/default/skin.css' rel='external nofollow' /><link rel='stylesheet' type='text/css' href='http://www.gepszalag.com/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>應(yīng)用列表</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 href='javascript:location.replace(location.href);' rel='external nofollow'><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})}’})' style='width:120px;'> - <input type='text' onfocus='WdatePicker({maxDate:’#F{$dp.$D(’logmin’,{M:3})||’%y-%M-%d’}’,minDate:’#F{$dp.$D(’logmin’)}’})' style='width:120px;'> <input type='text' name='' placeholder=' 門店名稱' class='input-text'> <button name='' type='submit' onclick='search()'><i class='Hui-iconfont'>&#xe665;</i> 搜賬戶</button> </div> --> <!-- <div class='cl pd-5 bg-1 bk-gray mt-20'> <span class='l'> <a onclick='modelServerServer_add(’創(chuàng)建模型服務(wù)’,’/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)建模型服務(wù)</a><a onclick='data_refresh()'></a><input type='text' hidden='true' /> <input type='text' hidden='true' /> </div> --> <div class='cl pd-5 bg-1 bk-gray mt-20'> <span class='l'> <a 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 onclick='data_refresh()'></a><input type='text' hidden='true' /> <input type='text' hidden='true' /></div> <div class='mt-20'> <table width=100%> <thead> <tr class='text-c'> <!-- <th width='40'><input name='checkAll' type='checkbox' value=''></th> --> <th width='80'>序號</th> <th width='80'>模型服務(wù)名稱</th> <th width='100'>訓(xùn)練名稱</th> <th width='100'>應(yīng)用名稱</th> <th width='100'>創(chuàng)建時(shí)間</th> <th width='80'>操作</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> <div tabindex='-1'> <article class='page-container'> <form action='' method='post' 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' value='' placeholder='' 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' value='' placeholder='' 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' value='' placeholder='' name='payCallBackURL'> </div> </div> <div class='row cl'> <div style='margin-left: 130px; width: 100px;'> <button value=''>&nbsp;&nbsp;提交&nbsp;&nbsp;</button> </div> <!-- <div style='float: right; width: 250px;margin-left: 0px;'> <input onclick='javascript:;' value='&nbsp;&nbsp;取消&nbsp;&nbsp;'> </div> --> </div> </form> </article> </div> <script type='text/javascript' src='http://www.gepszalag.com/static/libs/jquery/1.9.1/jquery.min.js'></script> <script type='text/javascript' src='http://www.gepszalag.com/static/libs/layer/2.1/layer.js'></script> <script type='text/javascript' src='http://www.gepszalag.com/static/libs/My97DatePicker/WdatePicker.js'></script> <script type='text/javascript' src='http://www.gepszalag.com/static/libs/datatables/1.10.0/jquery.dataTables.min.js'></script> <script type='text/javascript' src='http://www.gepszalag.com/static/h-ui/js/H-ui.js'></script> <script type='text/javascript' src='http://www.gepszalag.com/static/h-ui/js/H-ui.admin.js'></script> <!-- <script type='text/javascript' src='http://www.gepszalag.com/bcjs/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’/>數(shù)據(jù)加載中...</div>', }, 'sDom' : ’<'top'f<'clear'>>rt<'bottom'ilp><'clear'>’, 'order' : [ [ 0, 'asc' ] ], 'ajax' : { 'url' : '/model/modelPage', /* 'data': function ( d ) { //添加額外的參數(shù)傳給服務(wù)器 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 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+ ’') style='text-decoration:none'><i class='Hui-iconfont'>&#xe6e2;</i></a>’; } else { return ’<a 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+ ’') style='text-decoration:none'><i class='Hui-iconfont'>&#xe6e2;</i></a>’; } } else { if (e.isTrained == ’0’) { return ’<a 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+ ’') style='text-decoration:none'><i class='Hui-iconfont'>&#xe6e2;</i></a>’; } else { return ’<a 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+ ’') 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) { //選擇時(shí)間后觸發(fā)重新加載的方法 $('#logmin').on(’apply.input-text’, function() { //當(dāng)選擇時(shí)間后,出發(fā)dt的重新加載數(shù)據(jù)的方法 table.ajax.reload(); //獲取dt請求參數(shù) var args = table.ajax.params(); console.log('額外傳到后臺的參數(shù)值extra_search為:' + args.extra_search); }); } function filterGlobal() { alert($(’#search’).val()); $(’.table-sort’).DataTable().search($(’#search’).val()).draw(); } function search() { table.ajax.reload(); //獲取dt請求參數(shù) var args = table.ajax.params(); console.log('額外傳到后臺的參數(shù)值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(’確認(rèn)要?jiǎng)h除嗎?’, 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(’確認(rèn)要重置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根據(jù)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 = 'http://www.gepszalag.com/bcjs/pages/modelServer-train.html?appID=' + id; } function model_testing(title,url){ layer_show(title,url,550,300); } </script></body></html>

到此這篇關(guān)于MyBatis-Plus多表聯(lián)合查詢并且分頁(3表聯(lián)合)的文章就介紹到這了,更多相關(guān)MyBatis-Plus多表聯(lián)合查詢內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 91亚洲精品在线观看 | 50人群体交乱视频 | 欧美一区二区三区视频在线观看 | 色免费在线观看 | 国产精品久久久久久久久久久新郎 | 欧美精品一区三区 | 山岸逢花在线观看 | 久久久久久成人 | 伊人手机在线视频 | 久久精品国产一区 | 日韩欧美视频一区 | 久久国产精品99精国产 | 精品国产乱码久久久久久密桃99 | 亚洲免费av在线 | 精品96久久久久久中文字幕无 | 欧美中文字幕在线 | 精品欧美久久 | 国产草草视频 | 一区二区三区视频在线免费观看 | 国产欧精精久久久久久久 | 99精品欧美一区二区蜜桃免费 | 亚洲一区二区三区在线播放 | 国产第一页在线播放 | 日本成人在线视频网站 | 国产一区二区三区在线免费观看 | 欧美一级全黄 | 日韩欧美国产精品综合嫩v 亚洲欧美日韩在线 | 午夜免费福利视频 | 国产偷国产偷精品高清尤物 | 可以免费看黄的网站 | 在线观看国产www | hsck成人网| 亚洲天堂一区二区 | 国产精品一区二区三区在线播放 | 国产在线h| 国产在线网| 黄色在线视频网 | 一区二区三区免费在线观看 | 国产超碰人人模人人爽人人添 | 欧美一区免费 | 欧洲一区在线 | 亚洲男人天堂2024 | 亚洲精品一区二三区不卡 | h免费在线 | 91人人| 亚洲第一福利视频 | 日韩激情综合网 | 小草av | 亚洲精品乱码久久久久久蜜桃不卡 | 成人在线免费观看 | 欧美一区永久视频免费观看 | 国产精品久久久久不卡 | 欧美视频一区二区 | 国产精品美女久久久久久久久久久 | 日韩中文字幕一区二区 | 亚洲免费精品 | 日本电影网址 | 天天躁日日躁狠狠躁av麻豆 | 91在线视频免费播放 | 在线亚州 | 亚洲高清在线 | 国产精品久久久 | 日韩欧美一级精品久久 | a毛片| 亚洲国产精品99久久久久久久久 | 欧美日韩中文字幕 | 欧美日韩在线第一页 | 久久精品国产99国产精2020新增功能 | 国产精品久久嫩一区二区免费 | 欧美成年黄网站色视频 | 精品免费视频 | 国产成人精品久久二区二区91 | 热久久国产| 国产天堂在线 | 一级毛片免费在线 | 国产成人在线看 | 91视频一区二区三区 | 狠狠操中文字幕 | 日韩在线高清视频 | 91av在线视频播放 | 国产一区二区精品在线观看 | 久久久久久久久一区二区三区 | 亚洲人人 | 婷婷激情五月 | a级网站在线观看 | 欧洲亚洲精品久久久久 | 99re在线视频 | 激情欧美一区二区三区中文字幕 | 久久精品视频一区 | 亚洲欧洲日韩在线 | 国产成人免费视频网站高清观看视频 | 日韩av手机在线免费观看 | 欧美亚洲高清 | 欧美精产国品一二三区 | 一区二区在线影院 | 99亚洲精品| 午夜国产精品成人 | 欧美视频一二三区 | 亚洲一区二区三 | 中文字幕在线观看精品视频 | 亚洲午夜精品一区二区三区他趣 | 99精品国产在热久久 | 亚洲精品成人 | 国产成人精品一区二区三区在线 | 久久久噜噜噜www成人网 | 久久一区二区三区四区 | 成人免费福利视频 | 99热热热| 亚洲 中文 欧美 日韩在线观看 | 青草久操 | 精品日韩一区二区三区 | 欧美一级黄色片 | 亚洲男人的天堂在线观看 | 国产成人免费视频网站视频社区 | 欧美精品国产精品 | 国产美女在线观看 | 精品免费国产 | 国产情侣小视频 | 午夜三区 | 毛片免费观看视频 | 亚洲视频免费 | 亚洲精品二区三区 | 中文字幕在线第一页 | 最新日韩av | 亚洲人黄色片 | 91免费在线视频 | 日韩成人免费视频 | 日韩成人在线视频 | 国产精品永久免费自在线观看 | 免费国产黄 | 日韩不卡一区 | 成人三级av | 中文字幕av亚洲精品一部二部 | 一级片免费在线视频 | 这里只有精品在线视频观看 | 四虎永久在线观看 | 日韩一区二区三区在线 | 国产视频一区二区 | 99热首页 | 欧美在线视频一区二区 | 在线亚洲人成电影网站色www | 在线中文字幕视频 | 伊人草| 色鲁97精品国产亚洲 | 国产一区二区三区久久久 | 日韩成人在线视频 | 日本免费三片免费观看 | bxbx成人精品一区二区三区 | 欧美激情欧美激情在线五月 | 一区二区在线视频 | 男女深夜视频 | www.夜夜骑 | 91久久精品 | 日韩激情一区二区三区 | 无毒黄网 | 99视频在线 | 久久久久亚洲一区二区三区 | 欧美福利在线 | 国产精品一区二区三区四区 | 青青草在线免费视频 | www.99精品 | 91在线成人 | 亚洲一区二区三区四区的 | www日本高清 | 一区二区三区国产视频 | 欧美精品xx | 久久久久一区 | 亚洲免费综合 | 日韩欧美国产一区二区 | 一区二区在线视频免费观看 | 日韩视频在线一区二区 | 伊人网综合视频 | 免费视频久久久久 | 国产乱码一区二区三区 | 99小视频| 91精品国产综合久久久蜜臀粉嫩 | 国产操片| 国产免费一区二区 | 欧美一级内谢 | 久久亚洲视频 | 一级日韩片 | 国产精品无码永久免费888 | 成人免费一区二区三区视频网站 | 国产高清av在线一区二区三区 | 欧美国产日韩一区 | 久久精品在线 | 久久草在线视频 | 亚洲一区二区三区四区五区午夜 | 欧美日韩一区二区在线 | 欧美第一色 | 国产精品视频播放 | 欧亚视频在线观看 | av黄色在线| 国产在线日韩 | 一二三区不卡视频 | 精品国产一区二区三区性色 | 欧美一级艳片视频免费观看 | 国产91久久精品一区二区 | 91一区在线| 久久精品久久久久电影 | 国产黄色播放 | 久久噜噜噜精品国产亚洲综合 | 欧美一区二区三区免费 | 国产成人精品一区二区三区四区 | 欧美日韩大陆 | 伊人网综合视频 | 国产精品视频入口 | 中文字幕一区二区三区精彩视频 | 亚洲成人av在线播放 | 久久久成人av | 国产精品丝袜一区二区 | 久久国产精品视频 | 91电影在线观看 | 91久久91久久精品免观看 | 成年人网站免费在线观看 | 欧美激情性国产欧美无遮挡 | www.久久久.com| 粉嫩高清一区二区三区精品视频 | 美女视频一区 | 成年人视频免费在线看 | 奇米影视奇米色777欧美 | 亚洲欧美日韩精品久久奇米色影视 | 毛片毛片毛片毛片毛片毛片 | 美女福利视频 | 日韩高清中文字幕 | 在线毛片观看 | 国产特黄一级 | 免费观看一级特黄欧美大片 | 狠狠操电影 | 狠狠的干| 6080yy午夜一二三区久久 | 天天看天天干 | 亚洲一区中文 | 毛片链接 | 精品国产乱码久久久久久蜜柚 | 在线成人www免费观看视频 | 亚洲一区二区精品 | 我和我的祖国电影在线观看免费版高清 | 欧美精品中文字幕久久二区 | 天天综合网91| 中国一级毛片免费 | 欧美,日韩,国产精品免费观看 | 红杏aⅴ成人免费视频 | 国产高清视频在线 | 久久99精品久久久 | 精品国产一区二区三区久久久蜜月 | 国产亚洲精品成人av久久影院 | 亚洲成人精品 | 久久精品国产99 | 久久久久国产成人精品亚洲午夜 | 日韩免费一区 | 久久婷婷视频 | 在线h观看| 成年无码av片在线 | 欧美黄色a视频 | 黄色毛片视频网站 | 日韩超级大片免费看国产国产播放器 | 国产激情亚洲 | 亚洲国产成人精品女人 | 午夜国产在线 | 欧美成人免费网站 | 久久久久久久久久一区二区 | 久久亚洲综合 | 武道仙尊动漫在线观看 | 最新免费视频 | 一区二区三区四区日韩 | 日本黄色激情片 | 97伦理在线 | 美女国产| 国产精品久久久久久久 | 欧美激情精品久久久久久 | 国内在线精品 | 欧美精品一区二区三区蜜臀 | 国产成人精品免高潮在线观看 | 午夜午夜精品一区二区三区文 | 国产91成人video | 国产在线观看免费av | 日韩欧美专区 | 亚洲一区二区三区中文字幕 | 久久激情视频 | 狠狠中文字幕 | 嫩草网址 | 在线观看国产日韩欧美 | 欧美激情亚洲 | 久久精品中文字幕 | 亚洲黄色区| 色免费视频 | 久久久久久亚洲 | 一区二区国产精品 | 亚洲动漫在线观看 | 亚洲一区中文字幕在线观看 | 国产精品久久久久久久久软件 | 欧美wwwsss9999 | 人人做人人澡人人爽欧美 | 精品无码三级在线观看视频 | 在线国产专区 | 看毛片网| 中文字幕一级毛片 | 亚洲区视频 | 99久久精品免费看国产免费粉嫩 | 日韩视频在线观看 | 2019中文字幕视频 | 毛片激情永久免费 | 国产亚洲一区二区在线 | 久久久久国产精品视频 | 国产欧美日韩综合精品一 | 国产精品国产自产拍高清 | 中国大陆高清aⅴ毛片 | 99精品热| 国产日韩一区二区三区 | 国产99久久精品一区二区永久免费 | 成人精品视频在线观看 | 亚洲不卡视频在线 | 国产不卡视频 | 性欧美大战久久久久久久免费观看 | 91麻豆精品久久久久蜜臀 | 极品毛片 | 狠狠骚| 男女啪网站 | 亚洲 欧美 激情 另类 校园 | 在线日韩一区 | 999久久久国产999久久久 | 欧美性受 | 国产精品一区免费在线观看 | 久久99精品视频 | 免费在线看a | 国产精品视频免费播放 | 亚洲国产二区 | 免费黄在线观看 | 亚洲福利视频在线 | 日日网 | 亚洲一区二区三区久久 | 在线视频成人永久免费 | 成人免费网站在线观看 | 日韩一区二区在线播放 | 亚洲视频1区| 免费一级在线观看 | 日日综合 | 欧美成人精品激情在线观看 | 91看片 | 99精品一区二区三区 | 日韩欧美在线观看视频网站 | 婷婷免费在线观看 | 免费毛片网站 | 久久成人一区二区 | h片观看 | 91精品中文字幕一区二区三区 | 精品国产乱码久久久久久88av | 美女视频久久 | 国产综合区 | 视频一区二区三区中文字幕 | 成人免费crm在线观看 | 精品国产欧美 | 毛片99 | 国产一区二区视频在线观看 | 97人人做人人人难人人做 | 99爱在线观看 | 91精品国产92 | 人人种亚洲 | 亚洲www啪成人一区二区 | 日韩视频在线播放 | 玖玖精品在线 | 中文字幕在线观看 | 欧美日韩国产一区二区三区不卡 | 97精品国产 | 日本久久精品视频 | 日韩国产一区二区 | 日韩一区二区观看 | 百性阁综合另类 | 很黄很污的网站 | 免费的色网站 | 精品久久久一区 | 国产精品乱码一区二区三区 | 久久精品视频网站 | 国产视频色 | 欧美午夜精品一区二区三区电影 | 天天澡天天狠天天天做 | 午夜精品视频 | 日韩欧美国产一区二区三区 | 色www精品视频在线观看 | 日韩一级免费观看 | 久久久精品一区 | 成年视频在线观看福利资源 | 一区二区免费视频 | 宅男lu666噜噜噜在线观看 | 欧美精品一区二区三区在线四季 | 欧美精品成人 | 亚洲欧美一区二区三区在线 | www.久久久久久久久久久久 | 日日夜夜天天 | 久久婷婷国产麻豆91天堂 | 国产综合久久久久久鬼色 | 一区二区在线看 | 久久国产一区二区 | 日本综合色 | 91社区在线高清 | 国产欧美专区 | 成人精品 | 国产精品女教师av久久 | 成人免费久久 | 精品三级三级三级三级三级 | 一区在线免费观看 | 精品成人av | 91伊人 | 国产精品亚洲一区二区三区 | 超碰在线播 | 国产精品人人做人人爽 | 亚洲国产精品视频 | 久久成年人视频 | 亚洲欧美精品 | 亚洲欧美国产精品久久久久 | 久久久久久91 | 你懂的在线视频播放 | 国产亚洲一区二区精品 | 久久99精品久久久久久青青日本 | 精品国产乱码久久久久久密桃99 | 成人免费视频网 | 成人在线免费 | 97国产一区二区精品久久呦 | 在线观看中文字幕 | 亚洲第1页 | 日韩免费视频 | 免费高清一级毛片 | 国产精彩视频 | 欧美午夜视频在线观看 | 色噜噜视频在线观看 | 国产精品久久久久久吹潮 | 黄色网页大全 | 中文字幕免费观看 | 免费成人在线观看视频 | 麻豆精品久久久 | 欧美一区| 亚洲欧洲一区二区 | 欧美一级电影 | 日韩和的一区二区 | 久国久产久精永久网页 | 亚洲欧美另类在线观看 | 日韩视频二区 | 亚洲日本韩国在线观看 | 色综合久久天天综合网 | concern超碰在线 | 免费av一区 | 中文字幕在线观看亚洲 | 久久一区二区精品 | 国产嫩草91 | 99精品一区二区 | 99这里只有精品视频 | 国产一级毛片国语一级 | 国产视频2021 | 欧美日韩中文在线观看 | 一级日韩片 | 99精品一级欧美片免费播放 | 成人高清在线 | 三级网址日本 | 色噜噜一区二区 | 欧美日本一区二区三区 | 夜本色 | 成人av播放 | 国产一区二区免费 | 国产免费拔擦拔擦8x高清在线人 | 成人欧美一区二区三区视频xxx | 91中文字幕在线 | 亚洲精品免费视频 | 一区二区精品视频在线观看 | 国产精品一二三区 | 97国产精品久久久 | 在线观看国产视频 | 91亚洲国产亚洲国产 | 色欧美片视频在线观看 | 伊人网av | 日韩国伦理久久一区 | 久久久网 | 日韩一区二区精品视频 | 91视视频在线观看入口直接观看 | 久久99国产一区二区三区 | 91精品国产综合久久福利软件 | 看亚洲a级一级毛片 | 久久精品二区 | 成人a级片在线观看 | a级毛片久久 | 欧美视频一二三区 | 91性高湖久久久久久久久网站 | 亚洲免费视频在线观看 | 国产欧美网址 | 日日夜夜天天 | 国产在线精品一区 | 精品久久久久一区二区国产 | 日韩电影免费在线观看中文字幕 | 激情自拍偷拍 | 亚洲色图88 | 欧美激情在线精品一区二区三区 | 日韩在线视频一区 | 午夜精品久久久久久久久 | 免费国产一区二区 | 爱爱日韩| 午夜免费 | 中文字幕在线影院 | 亚洲www永久成人夜色 | 在线免费国产视频 | 欧洲美女7788成人免费视频 | 日韩毛片免费视频一级特黄 | 在线播放国产精品 | 国产精品99在线观看 | 毛片网络 | 日韩视频中文字幕 | 91高清免费看 | 日韩欧美精品一区 | 日韩欧美国产精品 | 天天射天天干 | 欧美精品一区二区在线观看 | 久久精品99国产精品亚洲最刺激 | 五月激情综合网 | 久久激情五月丁香伊人 | 国产精品亚洲第一 | 久久免费视频国产 | 一区二区三区在线观看免费 | 精品成人av | 伊人在线| 国产不卡一区 | 中文字幕精品一区二区三区精品 | 午夜精品一区二区三区在线观看 | 一区二区视频网站 | 在线中文字幕视频 | 青青草草| 午夜精品久久久久久久星辰影院 | 久久综合av | 精品永久 | 亚洲精品中文字幕乱码无线 | 激情久久久久 | 北条麻妃国产九九九精品小说 | 精品欧美一区二区三区久久久 | 国产一区二区视频在线 | 日比视频网站 | 成av人片在线观看www | 亚洲精品一区中文字幕乱码 | 成人a网| 久久久久国产精品www | 亚洲v在线 | 精品国产一区二区三区久久久 | 亚洲精品乱码久久久久久花季 | 私人毛片免费高清视频 | 久久久久久亚洲精品 | 一区二区三区四区在线 | 久在线视频 | 国产久 | 日韩欧美三级 | 综合网激情五月 | 亚洲精品久久久久久一区二区 | 中文字幕 视频一区 | 精品久久久久久久 | 天天爽夜夜爽 | 久久精品99 | 黄色免费网址大全 | 欧美性久久 | 国产精品久久久久久久久久免费 | 日韩在线观看视频一区二区三区 | 国产精品美女久久久久久久久久久 | 草比网站| 1204国产成人精品视频 | 国产激情偷乱视频一区二区三区 | 成人性毛片| 久久这里只有精品8 | 国产亚洲欧美精品永久 | 成人在线观看免费视频 | 一区二区在线免费观看 | 国产精品亚洲一区二区三区 | 天天草综合| 午夜视频在线免费观看 | av中文字幕网 | 国产区福利 | 国产激情亚洲 | 欧美视频网站 | 毛片视频免费 | 国产精品视频一区二区免费不卡 | 欧美高清一区 | 国产精品日本欧美一区二区三区 | 欧美啪 | 欧美成人精品在线观看 | 黄色毛片在线观看 | 偷偷干夜夜拍 | 91精品国产91久久久久久吃药 | 精品一区二区三区四区五区 | 久久亚洲精品综合 | 免费视频一区二区 | 国产精品大片 | 亚洲人网站 | 一区二区免费视频 | 欧美黄色一区 | 六月婷婷综合 | 狠狠搞狠狠干 | 国产精品久久久久久久 | www.日韩在线观看 | 久久手机在线视频 | 亚洲视频一区二区 | 久久伊人一区二区 | 欧美一区二区三区xxxx监狱 | 日韩精品一区二区三区免费观看视频 | 北条麻妃一区二区三区在线 | 精品一区免费 | 看毛片网站| 欧美成人h版在线观看 | 国产女人和拘做受视频 | 天堂一区二区三区四区 | 自拍偷拍精品 | 欧美精品久久 | 精品国产一区二区三区成人影院 | 在线观看亚洲视频 | 国产精品毛片一区二区三区 | 在线观看91 | 中文精品一区二区三区 | 国产精品国产三级国产aⅴ无密码 | 欧美一级片毛片免费观看视频 | 国产精品国产成人国产三级 | 97男人的天堂 | 精品国产一区二区三区av片 |