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

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

mybatis plus代碼生成工具的實現(xiàn)代碼

瀏覽:19日期:2023-10-19 13:37:17
前言:

原本想使用AutoGenerator 是 MyBatis-Plus 的官方代碼生成器 ,嘗試了一下,竟然報錯,原因可能是MyBatis-Plus和mybatis-plus-generator 的版本不一致,因為我用的MyBatis-Plus 的版本是3.42 ,但是mybatis-plus-generator的3.4.2不知道怎么了,下載不下來,只能下載3.4.1,發(fā)現(xiàn)運行起來老是報錯,還有一堆配置說明要看,于是自己手寫生成代碼的工具類,覺得更簡單些。分享給大家,請多多指教。

pom文件引入java-mysql 驅(qū)動依賴

<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version></dependency>

單類代碼實現(xiàn),復(fù)制粘貼到編輯器里,主方法運行即可。

import org.apache.commons.lang3.StringUtils; import java.io.File;import java.io.FileOutputStream;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.text.SimpleDateFormat;import java.util.Date; /** * mybatis plus通用生成工具 * 可生成業(yè)務(wù)接口、mapper接口、實體類 * * @author tarzan Liu * @date 2021/4/10 19:44 */ public class MyBatisPlusTools { private static final String driver = 'com.mysql.cj.jdbc.Driver';//驅(qū)動 private static final String user = 'root'; //數(shù)據(jù)庫賬號 private static final String pwd = '123456'; //數(shù)據(jù)庫密碼 private static final String url = 'jdbc:mysql://127.0.0.1:3306/ofcms' + '?user=' + user + '&password=' + pwd+'&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull'; //鏈接參數(shù) private static String tableName = 'of_cms_ad'; // 數(shù)據(jù)庫表名 private static String aliasName = 'cms_ad'; // 數(shù)據(jù)庫別名,可以與數(shù)據(jù)庫表名相同 private static final String packagePath = 'com/tarzan/cms'; //mapper.xml命名空間路徑 private static final String packageName = 'com.tarzan.cms'; //mapper.xml命名空間路徑 private static final String author = 'tarzan'; // 作者 private static final String rootPathName = 'src/main/java/'; // 默認(rèn)生成主文件夾路徑 private static Connection getConnection = null; static SimpleDateFormat format = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss'); /** * 鏈接數(shù)據(jù)庫 */ private static Connection getConnections() {try { Class.forName(driver); getConnection = DriverManager.getConnection(url);} catch (Exception e) { e.printStackTrace();}return getConnection; } /** * 格式化默認(rèn)值 */ private static String defaultValue(String value) {if (StringUtils.isNotBlank(value)) { return ';默認(rèn)值:' + value;}{ return '';} } private static String getAliasName(String tableName,String prefix){return tableName.substring(prefix.length()); } /** * 格式化數(shù)據(jù)類型 * 返回的是基本類型的包裝類 * 如果使用基本數(shù)據(jù)類型long */ private static String formatType(String typeValue) { if ('bit'.equalsIgnoreCase(typeValue)) { return 'Boolean';}else if (typeValue.equalsIgnoreCase('int') || typeValue.equalsIgnoreCase('int unsigned')|| typeValue.equalsIgnoreCase('tinyint') || typeValue.equalsIgnoreCase('tinyint unsigned')|| typeValue.equalsIgnoreCase('smallint') || typeValue.equalsIgnoreCase('smallint unsigned')|| typeValue.equalsIgnoreCase('mediumint') || typeValue.equalsIgnoreCase('mediumint unsigned')) { return 'Integer';} else if (typeValue.equalsIgnoreCase('bigint') || typeValue.equalsIgnoreCase('bigint unsigned')) { return 'Long';} else if (typeValue.equalsIgnoreCase('float') || typeValue.equalsIgnoreCase('float unsigned')) { return 'Float';} else if (typeValue.equalsIgnoreCase('decimal') || typeValue.equalsIgnoreCase('decimal unsigned') || typeValue.equalsIgnoreCase('numeric') || typeValue.equalsIgnoreCase('numeric unsigned')|| typeValue.equalsIgnoreCase('real') || typeValue.equalsIgnoreCase('real unsigned') || typeValue.equalsIgnoreCase('money') || typeValue.equalsIgnoreCase('money unsigned')|| typeValue.equalsIgnoreCase('smallmoney') || typeValue.equalsIgnoreCase('smallmoney unsigned')) { return 'Double';} else if (typeValue.equalsIgnoreCase('varchar') || typeValue.equalsIgnoreCase('char')|| typeValue.equalsIgnoreCase('nvarchar') || typeValue.equalsIgnoreCase('nchar')|| typeValue.equalsIgnoreCase('text')) { return 'String';} else if (typeValue.equalsIgnoreCase('datetime')) { return 'Date';} else if (typeValue.equalsIgnoreCase('image')) { return 'Blod';} else { return 'Long';} } /** * 駝峰轉(zhuǎn)換 */ private static String columnToProperty(String column) {StringBuilder result = new StringBuilder();// 快速檢查if (column == null || column.isEmpty()) { // 沒必要轉(zhuǎn)換 return '';}else column =column.toLowerCase(); if (!column.contains('_')) { // 不含下劃線,僅將首字母小寫 return column.substring(0, 1).toLowerCase() + column.substring(1);} else { // 用下劃線將原始字符串分割 String[] columns = column.split('_'); for (String columnSplit : columns) {// 跳過原始字符串中開頭、結(jié)尾的下?lián)Q線或雙重下劃線if (columnSplit.isEmpty()) { continue;}// 處理真正的駝峰片段if (result.length() == 0) { // 第一個駝峰片段,全部字母都小寫 result.append(columnSplit.toLowerCase());} else { // 其他的駝峰片段,首字母大寫 result.append(columnSplit.substring(0, 1).toUpperCase()).append(columnSplit.substring(1).toLowerCase());} } return result.toString();} } /** * 實體名稱轉(zhuǎn)換 */ private static String formatBeanName(String column) {StringBuilder result = new StringBuilder();// 快速檢查if (column == null || column.isEmpty()) { // 沒必要轉(zhuǎn)換 return '';} else if (!column.contains('_')) { // 不含下劃線,僅將首字母大寫 return column.substring(0, 1).toUpperCase() + column.substring(1);} else { // 用下劃線將原始字符串分割 String[] columns = column.split('_'); for (String columnSplit : columns) {// 跳過原始字符串中開頭、結(jié)尾的下?lián)Q線或雙重下劃線if (columnSplit.isEmpty()) { continue;}// 處理真正的駝峰片段result.append(columnSplit.substring(0, 1).toUpperCase()).append(columnSplit.substring(1).toLowerCase()); } return result.toString();} } /** * 實體類字段 */ private static void getBean(String tableName,String aliasName) {getConnection = getConnections();StringBuilder sb = new StringBuilder();try { DatabaseMetaData dbmd = getConnection.getMetaData(); ResultSet rs = dbmd.getColumns(null, '%', tableName, '%'); String beanName = formatBeanName(aliasName); sb.append('package '+packageName+'.entity;nn'); sb.append('import com.baomidou.mybatisplus.annotation.TableName;n'); sb.append('import lombok.Data;n'); int length=sb.length(); boolean dateFlag=false; sb.append( ' /**n' + ' * @author ' + author + 'n' + ' * @date '+ format.format(new Date())+'n' + ' */n' +'@Datan' +'@TableName(''+tableName+'')n' + 'public class '+beanName+'Entity {n'); while (rs.next()) {if(formatType(rs.getString('TYPE_NAME')).equals('Date')){ dateFlag=true;}sb.append('t//').append(rs.getString('REMARKS')).append(defaultValue(rs.getString('COLUMN_DEF'))).append('n');sb.append('tprivate ').append(formatType(rs.getString('TYPE_NAME'))).append(' ').append(columnToProperty(rs.getString('COLUMN_NAME'))).append(';n'); } sb.append('} '); if(dateFlag){sb.insert(length, 'import java.util.Date;n'); }} catch (Exception e) { e.printStackTrace();}write(sb.toString(),'Entity.java','entity');System.err.println('n類型:JAVA數(shù)據(jù)層實體類(bean.java)' + 'n狀態(tài):成功' + 'n時間:' + format.format(new Date()) + 'n'); } /** * 生成DAO層接口 */ private static void getMapper(String tableName,String aliasName) {StringBuilder sb = new StringBuilder();try { String beanName = formatBeanName(aliasName); sb.append('package '+packageName+'.mapper;nn'); sb.append('import com.baomidou.mybatisplus.core.mapper.BaseMapper;n'); sb.append('import '+packageName+'.entity.'+beanName+'Entity;n'); sb.append( '/**n' + ' * @author ' + author + 'n' + ' * @date '+ format.format(new Date())+'n' + ' */n' + 'public interface '+beanName+'Mapper extends BaseMapper<'+beanName+'Entity>{n' + ' n' + '}');} catch (Exception e) { e.printStackTrace();}write(sb.toString(),'Mapper.java','mapper');System.err.println('n類型:JAVA數(shù)據(jù)持久層接口(dao.java)' + 'n狀態(tài):成功' + 'n時間:' + format.format(new Date()) + 'n'); } /** * 生成SERVICE層接口 */ private static void getService(String tableName,String aliasName) {StringBuilder sb = new StringBuilder();try { String beanName = formatBeanName(aliasName); sb.append('package '+packageName+'.service;nn'); sb.append('import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;n'); sb.append('import org.springframework.stereotype.Service;n'); sb.append('import '+packageName+'.mapper.'+beanName+'Mapper;n'); sb.append('import '+packageName+'.entity.'+beanName+'Entity;n'); sb.append( '/**n' + ' * @author ' + author + 'n' + ' * @date '+ format.format(new Date())+'n' + ' */n' +'@Servicen' + 'public class '+beanName+'Service extends ServiceImpl<'+beanName+'Mapper, '+beanName+'Entity>{n' + 'n' + '}');} catch (Exception e) { e.printStackTrace();}write(sb.toString(),'Service.java','service');System.err.println('n類型:JAVA業(yè)務(wù)層接口(service.java)' + 'n狀態(tài):成功' + 'n時間:' + format.format(new Date()) + 'n'); } /** * 寫文件,支持中文字符,在linux redhad下測試過 * @param str 文本內(nèi)容 * @param name 文本名稱 * */ private static void write(String str, String name,String type) {try { File dir = new File(rootPathName +packagePath+ '/' + type); dir.mkdirs(); String path = dir.getPath() + '/' + formatBeanName(aliasName)+name; File file = new File(path); if (!file.exists())file.createNewFile();FileOutputStream out = new FileOutputStream(file, false); //如果追加方式用true StringBuilder sb = new StringBuilder(); sb.append(str + 'n'); out.write(sb.toString().getBytes('utf-8'));//注意需要轉(zhuǎn)換對應(yīng)的字符集 out.close();} catch (Exception e) { e.printStackTrace();} } //一次生產(chǎn)所有表 private static void tableNames() {getConnection = getConnections();try { DatabaseMetaData dbmd = getConnection.getMetaData(); ResultSet rs = dbmd.getTables(getConnection.getCatalog(), null, null, new String[] { 'TABLE' }); while (rs.next()) {tableName=rs.getString('TABLE_NAME');aliasName=getAliasName(tableName,'of_');//實體getBean(tableName,aliasName);//dao層接口getMapper(tableName,aliasName);//業(yè)務(wù)類接口getService(tableName,aliasName); }} catch (Exception e) { e.printStackTrace();} } public static void main(String[] args) { // tableNames();//實體 getBean(tableName,aliasName); //mapper接口 getMapper(tableName,aliasName);//業(yè)務(wù)類接口 getService(tableName,aliasName); } }

生成文件截圖

實體

mybatis plus代碼生成工具的實現(xiàn)代碼

mapper

mybatis plus代碼生成工具的實現(xiàn)代碼

service

mybatis plus代碼生成工具的實現(xiàn)代碼

到此這篇關(guān)于mybatis plus代碼生成工具的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)mybatis plus代碼生成工具內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 欧美精品一区二区三区在线 | 欧美在线观看一区 | 狠狠干美女 | 黄色三级视频 | 天天操网址 | 99久久免费看视频 | 黄色网亚洲 | 91精品国产91久久久久久蜜臀 | 91麻豆精品国产91久久久资源速度 | 在线色网站 | 黄色片网站在线免费观看 | 久久精品国产视频 | 日韩在线视频一区 | 天天操操 | 少妇色欲网 | 国产成人免费 | 国产日韩欧美一区 | 爱爱网址| 一区二区三区无码高清视频 | 久久久99日产 | 成人性视频免费网站 | 亚洲精品福利网站 | 精品国产伦一区二区三区观看说明 | 国产福利在线视频 | 成人午夜sm精品久久久久久久 | 亚洲免费a | 久久久av | 精品日韩欧美一区二区在线播放 | a视频在线观看 | 欧美一区二区三区在线视频 | 亚洲精品www久久久久久广东 | 成人精品视频免费 | 久久久久久久久久久成人 | 国产日本韩国在线 | 久久久中文字幕 | 亚洲网站在线播放 | 黄色国产大片 | 久久只有精品 | 国产成人精品久久 | 激情六月综合 | 正在播放国产精品 | 亚洲国产精品久久 | 一本色道久久综合狠狠躁篇的优点 | 亚洲一区二区中文 | 久久精品一二三四 | 国产一区二区在线播放 | 一级免费片 | 日韩中文字幕在线播放 | 久久久高清| 精品一区不卡 | 亚洲精品国产精品国自产 | 亚洲欧洲精品一区二区三区 | 国精产品99永久一区一区 | 日韩精品成人 | 夜夜草天天干 | av片网站| 久久精品国产99国产 | 69性欧美高清影院 | 精品香蕉一区二区三区 | 四虎免费紧急入口观看 | 国产成人免费在线 | 日韩中文字幕在线播放 | 日韩福利视频网 | 中文字幕日韩一区 | 久久精品 | 成人激情视频在线观看 | 久久久精品一区二区三区 | 亚洲精品日韩综合观看成人91 | 999这里只有精品 | 成年人在线观看 | 黄色大片观看 | 黄色免费av | 欧美精品久久久 | 狠狠色狠狠色合久久伊人 | 久久国产精品久久久久久 | 国产成人av一区二区 | 久久这里只有精品首页 | 精品国产一区二区三区久久久久久 | 欧美日韩一区二区视频在线观看 | 久久亚洲精品中文字幕 | 在线免费观看毛片 | 麻豆视频91| 亚洲a网站| 亚洲精品在线免费播放 | 精品一区二区三区在线观看 | 欧美视频在线观看不卡 | 一区二区三区在线免费看 | 国内精品国产三级国产在线专 | 免费高潮视频95在线观看网站 | 欧美啪 | 久久久久国 | 日韩综合网| 黄视频在线播放 | 一区视频网站 | 天天爽夜夜爽夜夜爽精品视频 | 极黄视频 | 久久福利| 黄色精品网站 | 亚洲久草视频 | 久久青青视频 | 亚洲一区电影 | 亚洲免费人成在线视频观看 | 夜夜久久| 国产超碰在线观看 | 一级免费av| 午夜免费小视频 | 日韩在线观看成人 | 欧美日韩一级视频 | 国产精品久久久久久久久费观看 | 日韩精品一区二区三区中文在线 | 国产成人一区 | 神马久久精品 | 国产二区三区 | 国产网站在线 | 久久影视精品 | 亚洲一区二区三区在线 | 黄色片视频在线观看 | 免费毛片大全 | www国产成人免费观看视频,深夜成人网 | 免费午夜视频 | 国产毛片av | 亚洲一区二区在线播放 | 97视频精品 | 欧美精品区 | 在线观看亚洲大片短视频 | 7777久久 | 色在线免费视频 | 日韩精品一区二区三区在线 | 亚洲精品9999 | 中文字幕在线视频网站 | av电影天堂网 | 国产精品99久久久久久宅男 | 国产欧美久久久久久 | 色com| 精品国产一区二区三区免费 | 四季久久免费一区二区三区四区 | 伊人网一区 | 男女免费在线观看 | 欧美性网| 伊人免费在线观看高清版 | 久草青青 | 骚视频在线观看 | 91网站在线播放 | 日本免费在线视频 | 欧美日韩亚洲另类 | 成人欧美一区二区三区视频xxx | 校园春色av| 国产精品一区二区三区在线播放 | 在线观看亚洲 | 国产一区二区 | 色婷婷av一区二区三区软件 | 亚洲精品自拍视频 | 中文字幕国产在线视频 | 色综合99 | 亚洲国产精品99久久久久久久久 | 黄色拍拍视频 | 国产午夜精品久久久久久久 | 高清免费av| 天天干人人| 天天精品在线 | 黑人精品 | 91福利网站在线观看 | a网站在线观看 | 久久久久久毛片免费播放 | 91精品国产自产精品男人的天堂 | 精品国产依人香蕉在线精品 | 一级片在线免费看 | 欧美久久一级特黄毛片 | 国产一区精品在线 | 青青草免费在线视频 | 不卡黄色 | 人人草天天草 | 黄色天堂在线观看 | 美日韩一区二区三区 | 97精品国产 | 国产一级淫免费播放m | 狠狠操电影 | 亚洲视频免费 | 日韩欧美精品一区 | 精品久久久久一区二区国产 | 91精品国产99| 日韩精品久久久久 | 精品国产乱码久久久久久1区2区 | 久久久亚洲精品视频 | 欧美一区三区 | 国产 日韩 欧美 中文 在线播放 | av网站在线免费观看 | 日韩精品www| 国产美女精品一区二区三区 | 国产成人一级毛片 | 一区二区日韩 | 亚洲日本国产 | 最新午夜 | 美女一级 | 久久久日韩精品一区二区三区 | 超碰c | 一区二区日韩 | 国产男人的天堂 | 日本一区二区不卡 | 久久久精 | 七龙珠z普通话国语版在线观看 | 久久国产精品免费一区二区三区 | 欧美日韩一区二区在线 | 美女吊逼 | 奇米影视奇米色777欧美 | 可以免费观看的av片 | 777777777亚洲妇女 | 亚洲天堂中文字幕 | 日韩人体在线 | 国产成人精品午夜视频免费 | 欧美午夜在线观看 | 成人av免费看 | 日韩在线视频第一页 | 99国产精品99久久久久久 | 99热这里有精品 | 免费观看一级毛片 | 国产精品久久久久久亚洲调教 | 国产综合精品一区二区三区 | 欧美一级黄色大片 | 日日干夜夜操 | 老牛影视av一区二区在线观看 | 午夜av电影 | 国产一区二区观看 | 国产精品中文字幕在线 | 婷婷成人免费视频 | www.五月婷| 国产精品国产精品国产专区不片 | www.99re| 黄色一级视频 | 欧美一级爆毛片 | 久久久www成人免费精品 | 亚洲成人三级 | 亚洲二区视频 | 欧美黄视频 | 亚洲精品乱码久久久久久金桔影视 | 热99这里只有精品 | 日韩在线国产 | www.日韩| 精品一区二区在线观看 | 后人极品翘臀美女在线播放 | 亚洲精品成人悠悠色影视 | 久草av在线播放 | 国产精品久久久久一区二区三区 | 国产美女视频网站 | 91最新| 欧美精品区 | 日韩中文字幕免费在线 | 成年片 | 999在线观看精品免费不卡网站 | 高清一区二区三区视频 | 一区二区三区国产在线观看 | 亚洲视频 欧美视频 | 中文字幕亚洲一区二区va在线 | 国产99久久久国产精品 | 成人免费视频观看 | 久久精品一区 | 色综合一区 | 欧美一区二区三区精品 | 国产亚洲在线 | 在线日韩中文字幕 | 自拍偷拍视频网站 | 三级av网站 | 欧美日一区二区 | 在线观看三区 | 亚洲欧美一区二区三区在线 | 国产精品二区三区在线观看 | www.日韩.com | av网站观看 | 少妇久久久 | 成人二区 | 欧美一级片在线 | 亚洲综合一区二区 | 91精品麻豆日日躁夜夜躁 | 精品国产伦一区二区三区观看说明 | 国产亚洲一区二区三区 | 三级在线观看 | 龙珠z普通话国语版在线观看 | 夜夜骑av | 99精品视频免费在线观看 | 中文av字幕 | 亚洲免费婷婷 | 嫩草网址 | 特黄视频 | 成人免费视频网址 | 日本高清无卡码一区二区久久 | 成人日韩 | 亚洲免费人成在线视频观看 | 成人免费一区二区三区视频网站 | 久久福利| 国产xxxxxxxxxx| 国产精品人人做人人爽 | 欧美aⅴ | 国产精品久久电影观看 | 欧美视频在线播放 | 欧美激情视频一区二区三区在线播放 | 黑人精品xxx一区一二区 | 天天操网 | 国产日韩精品视频 | 欧美中文在线 | 亚洲成人av在线 | 欧美一区二区精品 | 99福利视频 | www.中文字幕在线 | 国产大毛片| 天天射美女 | 日韩在线一区二区三区 | 国产传媒在线视频 | 免费欧美一级 | 国产欧美日韩精品一区二区三区 | 国产乱码精品一区二区三区中文 | 91福利网站在线观看 | 欧洲成人午夜免费大片 | 久久精品一区二区三区四区毛片 | 久久久美女 | 午夜a级理论片915影院 | 综合久久网 | 秋霞在线一区 | 成人免费视频网 | 男人天堂亚洲天堂 | 超碰在线人人 | 亚洲精品一区二区另类图片 | 夜夜骑日日操 | 九九视频网| 黄色小视频在线观看 | 日操视频| 久久777 | 日本天天操 | 日韩欧美理论片 | 免费黄色大片 | 久久九九精品久久 | 日韩欧美在线播放 | av在线免费观看网站 | 午夜影院免费观看视频 | www.日韩.com| 99久久国产| 日韩在线二区 | 成人午夜在线视频 | 91中文字幕网 | 狠狠干很很操 | 奇米精品一区二区三区在线观看 | 狠狠av | 亚洲天堂第一页 | 国产精品一区在线观看 | 免费激情av | 不卡一区二区三区视频 | 91亚洲精品乱码久久久久久蜜桃 | 日韩不卡一区二区三区 | 一区二区在线免费观看 | 国产成人免费在线 | av国产精品 | 国产精品久久久久久吹潮 | 91精品国产乱码久久蜜臀 | 五月婷婷中文 | 君岛美绪一区二区三区在线视频 | 国产精品日韩欧美一区二区三区 | 中文字幕av一区二区 | 视频一区 中文字幕 | www.天天操 | 国产精品一区在线观看 | 一区二区福利 | 国产精品九九九 | 欧美日一区二区 | 91视频一区二区 | 成人在线一区二区三区 | 日本久久99 | 午夜视频网站 | av一区二区在线观看 | 久久99成人 | 国产淫片在线观看 | 国产精品成人一区二区 | 久久亚洲国产精品日日av夜夜 | 色欧美综合| 国产精品久久久久久久午夜 | 亚洲综合精品久久 | 成人精品一区二区三区中文字幕 | 中文字幕天天操 | 日韩欧美一区二区三区免费观看 | 亚洲精品亚洲人成人网 | 九九综合九九 | 精品av| 亚洲精品视频在线 | 国产免费一区 | 久免费视频 | 日韩精品一区二区三区 | av网站免费 | 一区二区在线免费观看 | 午夜影院在线观看 | 国产成人黄色 | 国产精品视频入口 | 久草视频国产 | 在线观看亚洲视频 | 国产激情一区二区三区成人免费 | 中文字字幕一区二区三区四区五区 | 亚洲欧洲精品一区二区 | 精品无码久久久久国产 | 91久久 | 亚洲欧洲日韩 | 中文字幕亚洲一区二区va在线 | 天天操天天拍 | 欧洲成人在线观看 | 亚洲视频区 | 久久国产精品首页 | 在线99热 | 久久久久久成人 | 久久久久久国产免费视网址 | 日韩精品在线一区 | 色综合久久天天综合网 | 久久久99国产精品免费 | 一区二区三区精品 | 91精品久久久久久久 | 午夜精品影院 | 久久久夜| 国产精品毛片一区二区三区 | 成人国产精品久久久 | 亚洲精品视频一区 | 国产精品久久久久久久久久大牛 | 国产精品久久嫩一区二区免费 | 国产高清精品在线 | 国产亚洲精品一区二区 | 欧美日韩不卡视频 | 久久久久久久99 | 精品无码久久久久国产 | 亚洲成人精品久久 | 久久亚洲综合 | 午夜草民福利电影 | 国产黄色在线观看 | 久草.com | 午夜精品福利一区二区三区蜜桃 | 国产高清中文字幕 | 国产高清视频在线 | 国产福利电影一区 | 国产日韩中文字幕 | 欧美视频一二 | 欧美一区不卡 | 国产片侵犯亲女视频播放 | 久久国产精品一区二区三区 | 黄色免费av | 欧美激情视频一区二区三区在线播放 | 日本一区二区三区视频免费看 | 国产成人精品亚洲日本在线观看 | 亚洲成av人片一区二区梦乃 | av一区二区三区在线观看 | 亚洲天堂久久 | 成全视频免费观看在线看黑人 | 一级毛片免费完整视频 | 亚洲欧美一区二区精品中文字幕 | 国产精彩视频 | 中文字幕av在线 | 欧美日韩不卡合集视频 | 亚洲国产精品久久久久秋霞蜜臀 | h免费在线观看 | 美女国产网站 | 日韩免费区 | 伊人最新网址 | 成人精品一区二区三区中文字幕 | 亚洲一区二区av | 国产亚洲一区二区三区在线观看 | 国产亚洲欧美在线 | 黄色一级片看看 | 三级精品 | 蜜桃av在线播放 | 91精品国产福利在线观看 | 日本妇人成熟免费视频 | 久久精品国产免费 | 欧美精品一区在线 | 欧美精品三区 | 亚洲欧美在线免费 | 久久精品播放 | 日韩欧美一级精品久久 | 亚洲国产成人久久一区二区三区 | 亚洲一区二区中文字幕 | 人人射人人插 | 91se在线| 一区二区三区在线播放 | www视频在线观看 | 国产高清在线观看 | 久久av网 | av黄在线观看 | 一级毛片在线播放 | 国产一区二区三区在线免费观看 | 亚洲天堂一区二区三区 | 国产精品久久久久久亚洲调教 | 国产 欧美 日韩 一区 | av网站在线免费观看 | 亚洲综合视频 | 中文字幕av网 | 欧美视频三级 | 天天操天天插天天干 | 亚洲久久久久久 | 99er视频| 午夜精品一区二区三区四区 | 夜夜爆操| 国产精品免费观看 | 日韩精品视频免费专区在线播放 | 国产在线一区二区 | 国产一区视频在线 | 欧美亚洲二区 | 亚洲一区二区三区四区的 | 免费观看亚洲 | 国产精品粉嫩白浆在线观看 | 国产乱叫456 | 亚洲国产精品麻豆 | 国产三级精品三级 | 草久在线观看 | 在线观看国产精品一区二区 | 免费看一区二区三区 | 99视频在线 | 国产成人在线一区二区 | www国产亚洲精品久久网站 | 精品久久久久久久久久久久久 | 成人网久久 | 中文字幕日韩一区二区不卡 | 国产精品久久久久婷婷二区次 | 国产视频久久久 | 四虎免看黄 | 亚洲精品电影 | 中文字幕第90页 | 国产.com| 成人影院欧美黄色 | 久久国产成人 | 久久91精品 | 欧美一区第一页 | 日韩av一区二区三区在线 | 在线天堂新版最新版在线8 www.国产欧美 | 亚洲精品乱码久久久久久麻豆不卡 | 日本高清精品 | 毛片站 | 黄a免费| 99九九久久 | 国产欧美精品一区二区三区四区 | 成人久久 | 久久九九视频 | 久久草在线视频 | 日本一区二区精品 | 成人h漫在线观看 | 国产一区二区精品在线观看 | 国产乱码精品一区二区三区忘忧草 | 精品在线一区二区 | 香蕉夜色 | 欧美性猛交一区二区三区精品 | 亚洲美女网站 | 免费高清av | 在线观看中文字幕亚洲 | 操操操夜夜操 | 国产高清精品一区二区三区 | 国产精品一区二区三区免费 | 国产精品综合 | 国产精品中文字幕在线 | 中文字幕日韩av | 亚洲精品免费看 | 亚洲天堂久 | 午夜免费电影 | 欧美精品久 | 91网站免费 | 99精品国产热久久91蜜凸 | 99热国产精品 | 一区二区三区欧美在线 | 伊人网一区| 一级做a爰片性色毛片2021 | 国产福利一区二区三区四区 | 日韩免费精品 | 91影院| 欧美日韩精品一区二区三区在线观看 | 欧美日韩国产一区二区三区不卡 | 亚洲不卡视频在线观看 | 亚洲乱码国产乱码精品精98午夜 | 毛片日韩 | 成人美女免费网站视频 | 午夜精 | 国产精品视频不卡 | 久草在线资源福利站 | 久久久久久久一区二区 | 欧美 日韩 国产 成人 在线 | 久久精品国产99国产精2020新增功能 | 亚洲综合在线视频 | 欧美一区永久视频免费观看 | 老妇女av | 久久精品国产99 | 精品日韩一区二区 | av片在线观看网站 | 国产精品18久久久久久首页狼 | 夜夜视频| 天天干干| 日韩av免费在线播放 | 高清国产午夜精品久久久久久 | 99精品欧美一区二区三区综合在线 | av在线精品| 天天干天天去 | 成人黄色在线视频 | 亚洲国产午夜视频 | 九九久久精品 | 黑人巨大精品欧美一区二区免费 | 亚洲第一网站 | 国产在线a| 欧美国产日韩一区 | 一区二区三区在线 | 欧美日韩综合视频 | 米奇狠狠狠狠8877 | 国产一级特黄视频 | 亚洲成人久久久 | 欧美日韩一区二区三区在线观看 | 少妇久久久 | 欧美日韩国产免费一区二区三区 | 密室大逃脱第六季大神版在线观看 | 国产亚洲精品成人av久久影院 | 国产精品一区人伦免视频播放 | 岛国av免费观看 | 久久av资源网 | 日韩午夜影院 | 中国特级黄色片 | 91xxx在线观看 | 欧美亚洲国产一区二区三区 | 亚洲精品午夜aaa久久久 | 国产精品亚洲精品 | 欧美在线观看免费观看视频 |