日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

尚硅谷智慧校园 —— 1、简介及环境搭建

發布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 尚硅谷智慧校园 —— 1、简介及环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習尚硅谷智慧校園項目,視頻地址:https://www.bilibili.com/video/BV1AY4y1v7Xe?p=1

博客中圖片來源于:尚硅谷智慧校園 —— 1、簡介及環境搭建_Mr_zhangyj的博客-CSDN博客https://blog.csdn.net/Mr_zhangyj/article/details/124228757

目錄

1.2、項目模塊

1.3、使用的技術

2、環境搭建

2.1、使用 IDEA的 SpringBoot 創建一個Maven項目

2.2、在 pom.xml 導入依賴

2.3、準備目錄結構

2.4、配置?application.yaml

2.5、準備分頁插件的配置類

2.6、準備 swagger2 的配置類

2.7、準備 util 下的工具類

2.7.1、驗證碼圖片工具類

2.7.2、token口令生成工具 JwtHelper

2.7.3、解析request請求中的 token口令的工具AuthContextHolder

2.7.4、MD5加密工具類

2.7.5、響應結果類型碼枚舉

2.7.6、JSON響應結果格式封裝類

2.7.7、文件上傳工具類

2.8、創建數據表及數據

2.9、根據數據表準備pojo、mapper、controller、service及其實現類


1、項目簡介


1.1、簡介
智慧校園管理系統:主要是以年級、班級為單位,進行老師和學生信息記錄和統計功能。項目采用前后端分離架構思想,前端采用 HTML+CSS+VUE來實現頁面效果展示,后端采用 SpringBoot+MybatisPlus 框架實現數據存儲等服務。存儲層使用高性能的 MySQL,服務器使用 SpringBoot 內置的Tomcat9.x,項目構建工具使用Maven來管理jar包和項目構建。


1.2、項目模塊

  • 項目角色(管理員,教師角色,學生角色)
  • 首頁展示,推出登錄
  • 學生管理模塊(增刪改查,篩選)
  • 教師管理模塊(增刪改查,篩選)
  • 班級管理模塊(增刪改查,篩選)
  • 年級管理模塊(增刪改查,篩選)
  • 管理員管理模塊(增刪改查,篩選)
  • 1.3、使用的技術

    2、環境搭建


    2.1、使用 IDEA的 SpringBoot 創建一個Maven項目


    設置好包名及存放位置,無需添加其他功能,后面會對 pom.xml 進行改動,其他配置通過 maven 添加即可

    2.2、在 pom.xml 導入依賴


    為了避免影響其他插件的使用,需要使用較低的 SpringBoot 的版本

    這里數據庫用的版本是 mysql5.27版本,根據不同版本導入不同版本的依賴

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- 繼承方式使用SpringBoot --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.1.RELEASE</version><relativePath/></parent><groupId>cn.xs</groupId><artifactId>myzhxy</artifactId><version>0.0.1-SNAPSHOT</version><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--單元測試啟動器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- thymeleaf支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><!-- mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1</version></dependency><!-- lombok插件簡化實體類開發 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!--mysql--><!--<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.3.1</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version></dependency><!--swagger--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version></dependency><!--swagger ui--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.7.0</version></dependency><!--swagger2 增強版接口文檔--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.4</version></dependency><!--開發者工具--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.29</version></dependency><!-- JWT生成Token--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.7.0</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency></dependencies><build><plugins><!--spring boot maven插件 , 可以將項目運行依賴的jar包打到我們的項目中--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

    2.3、準備目錄結構

  • java目錄下

  • config : 項目的配置類

  • controller: 控制層

  • mapper : 持久層接口

  • pojo : 實體類

  • service: 服務層

  • util: 工具類包

  • resources目錄下

  • mapper :持久層映射文件

  • public/upload:文件上傳目錄

  • static: 靜態資源目錄

  • application.yml :SpringBoot核心配置文件

  • 2.4、配置?application.yaml

    server:port: 8080 #指定當前項目啟動的端口號 spring:#解決SpringBoot2.6.0與swagger沖突問題【原因是在springboot2.6.0中將SpringMVC 默認路徑匹配策略從AntPathMatcher 更改為PathPatternParser,導致出錯,解決辦法是切換回原先的AntPathMatcher】mvc:pathmatch:matching-strategy: ant_path_matcher#配置數據源datasource:#配置數據源類型type: com.zaxxer.hikari.HikariDataSource#配置數據庫連接屬性driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3308/atguigu_zhxy_db?characterEncoding=utf-8&useSSL=falseusername: rootpassword: roothikari:connection-test-query: SELECT 1connection-timeout: 60000idle-timeout: 500000max-lifetime: 540000maximum-pool-size: 12minimum-idle: 10pool-name: GuliHikariPoolthymeleaf:#模板的模式,支持 HTML, XML TEXT JAVASCRIPTmode: HTML5#編碼 可不用配置encoding: UTF-8#開發配置為false,避免修改模板還要重啟服務器cache: false#配置模板路徑,默認是templates,可以不用配置prefix: classpath:/static/jackson:# 時間格式date-format: yyyy-MM-dd HH:mm:ss# 時區time-zone: GMT+8servlet:#設置文件上傳上限multipart:# 單個文件最大大小max-file-size: 10MB# 多個文件總共最大大小max-request-size: 100MB mybatis-plus:configuration:#添加日志支持log-impl: org.apache.ibatis.logging.stdout.StdOutImplmapper-locations: classpath*:/mapper/**/*.xml

    2.5、準備分頁插件的配置類

    @Configuration @MapperScan("cn.xs.myzhxy.mapper") public class Myconfig {/** 分頁插件* */public PaginationInterceptor paginationInterceptor(){PaginationInterceptor paginationInterceptor = new PaginationInterceptor();//paginationInterceptor.setlimit(你的最大單頁限制數量,默認500,小于0 eg:-1不受限制);return paginationInterceptor;} }

    2.6、準備 swagger2 的配置類


    訪問 localhost:端口號/swagger-ui.html,即可查看接口文檔

    只有有 ?Api 相關的注解才會生成

    @Api 標注在類上,示例:@Api(tags = "年級控制器")

    @ApiOperation 標注在方法上,示例:@ApiOperation("(批量)刪除年級信息")

    @ApiParam 標注在方法參數上,示例:@ApiParam("要刪除的年級信息的id的JSON集合")

    @RequestBody List<Integer> ids

    (部分內容可自定義修改,固定模板)

    @Configuration @EnableSwagger2 public class Swagger2Config {@Beanpublic Docket webApiConfig(){//添加head參數startList<Parameter> pars = new ArrayList<>();ParameterBuilder tokenPar = new ParameterBuilder();tokenPar.name("userId").description("用戶ID").defaultValue("1").modelRef(new ModelRef("string")).parameterType("header").required(false).build();pars.add(tokenPar.build());ParameterBuilder tmpPar = new ParameterBuilder();tmpPar.name("userTempId").description("臨時用戶ID").defaultValue("1").modelRef(new ModelRef("string")).parameterType("header").required(false).build();pars.add(tmpPar.build());//添加head參數endreturn new Docket(DocumentationType.SWAGGER_2).groupName("webApi").apiInfo(webApiInfo()).select()//可以測試請求頭中:輸入token// 有 ApiOperation 注解才生成//.apis(RequestHandlerSelectors.withClassAnnotation(ApiOperation.class))// 掃描的基礎包.apis(RequestHandlerSelectors.basePackage("cn.xs.myzhxy.controller"))//過濾掉admin路徑下的所有頁面//.paths(Predicates.and(PathSelectors.regex("/sms/.*")))//過濾掉所有error或error.*頁面//.paths(Predicates.not(PathSelectors.regex("/error.*"))).build().globalOperationParameters(pars);}private ApiInfo webApiInfo(){return new ApiInfoBuilder().title("網站-API文檔").description("本文檔描述了網站微服務接口定義").version("1.0").contact(new Contact("xiaoshuang", "http://xiaoshuang.com", "s1791584877@163.com")).build();}private ApiInfo adminApiInfo(){return new ApiInfoBuilder().title("后臺管理系統-API文檔").description("本文檔描述了后臺管理系統微服務接口定義").version("1.0").contact(new Contact("xiaoshuang", "http://xiaoshuang.com", "s1791584877@163.com")).build();}}

    2.7、準備 util 下的工具類

    package cn.xs.myzhxy.util(包下)

    2.7.1、驗證碼圖片工具類

    public class CreateVerifiCodeImage {private static int WIDTH = 90;private static int HEIGHT = 35;private static int FONT_SIZE = 20; //字符大小private static char[] verifiCode; //驗證碼private static BufferedImage verifiCodeImage; //驗證碼圖片/*** @description: 獲取驗證碼圖片* @param: no* @return: java.awt.image.BufferedImage*/public static BufferedImage getVerifiCodeImage() {verifiCodeImage = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_BGR);// create a imageGraphics graphics = verifiCodeImage.getGraphics();verifiCode = generateCheckCode();drawBackground(graphics);drawRands(graphics, verifiCode);graphics.dispose();return verifiCodeImage;}/*** @description: 獲取驗證碼* @param: no* @return: char[]*/public static char[] getVerifiCode() {return verifiCode;}/*** @description: 隨機生成驗證碼* @param: no* @return: char[]*/private static char[] generateCheckCode() {String chars = "0123456789abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ";char[] rands = new char[4];for (int i = 0; i < 4; i++) {int rand = (int) (Math.random() * (10 + 26 * 2));rands[i] = chars.charAt(rand);}return rands;}/*** @description: 繪制驗證碼* @param: g* @param: rands* @return: void*/private static void drawRands(Graphics g, char[] rands) {g.setFont(new Font("Console", Font.BOLD, FONT_SIZE));for (int i = 0; i < rands.length; i++) {g.setColor(getRandomColor());g.drawString("" + rands[i], i * FONT_SIZE + 10, 25);}}/*** @description: 繪制驗證碼圖片背景* @param: g* @return: void*/private static void drawBackground(Graphics g) {g.setColor(Color.white);g.fillRect(0, 0, WIDTH, HEIGHT);// 繪制驗證碼干擾點for (int i = 0; i < 200; i++) {int x = (int) (Math.random() * WIDTH);int y = (int) (Math.random() * HEIGHT);g.setColor(getRandomColor());g.drawOval(x, y, 1, 1);}}/*** @description: 獲取隨機顏色* @param: no* @return: java.awt.Color*/private static Color getRandomColor() {Random ran = new Random();return new Color(ran.nextInt(220), ran.nextInt(220), ran.nextInt(220));}}

    2.7.2、token口令生成工具 JwtHelper

    public class JwtHelper {private static long tokenExpiration = 24 * 60 * 60 * 1000;private static String tokenSignKey = "123456";//生成token字符串public static String createToken(Long userId, Integer userType) {String token = Jwts.builder().setSubject("YYGH-USER").setExpiration(new Date(System.currentTimeMillis() + tokenExpiration)).claim("userId", userId) // .claim("userName", userName).claim("userType", userType).signWith(SignatureAlgorithm.HS512, tokenSignKey).compressWith(CompressionCodecs.GZIP).compact();return token;}//從token字符串獲取useridpublic static Long getUserId(String token) {if (StringUtils.isEmpty(token)) return null;Jws<Claims> claimsJws = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);Claims claims = claimsJws.getBody();Integer userId = (Integer) claims.get("userId");return userId.longValue();}//從token字符串獲取userTypepublic static Integer getUserType(String token) {if (StringUtils.isEmpty(token)) return null;Jws<Claims> claimsJws= Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);Claims claims = claimsJws.getBody();return (Integer) (claims.get("userType"));}//從token字符串獲取userNamepublic static String getUserName(String token) {if (StringUtils.isEmpty(token)) return "";Jws<Claims> claimsJws= Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);Claims claims = claimsJws.getBody();return (String) claims.get("userName");}//判斷token是否有效public static boolean isExpiration(String token) {try {boolean isExpire = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token).getBody().getExpiration().before(new Date());//沒有過期,有效,返回falsereturn isExpire;} catch (Exception e) {//過期出現異常,返回truereturn true;}}/*** 刷新Token* @param token* @return*/public String refreshToken(String token) {String refreshedToken;try {final Claims claims = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token).getBody();refreshedToken = JwtHelper.createToken(getUserId(token), getUserType(token));} catch (Exception e) {refreshedToken = null;}return refreshedToken;}public static void main(String[] args) { // String token = JwtHelper.createToken(1L, "lucy"); // System.out.println(token); // System.out.println(JwtHelper.getUserId(token)); // System.out.println(JwtHelper.getUserName(token));} }

    2.7.3、解析request請求中的 token口令的工具AuthContextHolder

    public class AuthContextHolder {//從請求頭token獲取useridpublic static Long getUserIdToken(HttpServletRequest request) {//從請求頭tokenString token = request.getHeader("token");//調用工具類Long userId = JwtHelper.getUserId(token);return userId;}//從請求頭token獲取namepublic static String getUserName(HttpServletRequest request) {//從header獲取tokenString token = request.getHeader("token");//jwt從token獲取usernameString userName = JwtHelper.getUserName(token);return userName;} }

    2.7.4、MD5加密工具類

    public final class MD5 {/*** 將明文轉為密文* @param strSrc 明文* @return 密文*/public static String encrypt(String strSrc) {try {char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8','9', 'a', 'b', 'c', 'd', 'e', 'f' };byte[] bytes = strSrc.getBytes();MessageDigest md = MessageDigest.getInstance("MD5");md.update(bytes);bytes = md.digest();int j = bytes.length;char[] chars = new char[j * 2];int k = 0;for (int i = 0; i < bytes.length; i++) {byte b = bytes[i];chars[k++] = hexChars[b >>> 4 & 0xf];chars[k++] = hexChars[b & 0xf];}return new String(chars);} catch (NoSuchAlgorithmException e) {e.printStackTrace();throw new RuntimeException("MD5加密出錯!!+" + e);}}}

    2.7.5、響應結果類型碼枚舉

    @Getter public enum ResultCodeEnum {SUCCESS(200,"成功"),FAIL(201, "失敗"),SERVICE_ERROR(2012, "服務異常"),ILLEGAL_REQUEST( 204, "非法請求"),PAY_RUN(205, "支付中"),ARGUMENT_VALID_ERROR(206, "參數校驗錯誤"),LOGIN_ERROR(207, "用戶名或密碼錯誤"),LOGIN_AUTH(208, "未登陸"),PERMISSION(209, "沒有權限"),SECKILL_NO_START(210, "秒殺還沒開始"),SECKILL_RUN(211, "正在排隊中"),SECKILL_NO_PAY_ORDER(212, "您有未支付的訂單"),SECKILL_FINISH(213, "已售罄"),SECKILL_END(214, "秒殺已結束"),SECKILL_SUCCESS(215, "搶單成功"),SECKILL_FAIL(216, "搶單失敗"),SECKILL_ILLEGAL(217, "請求不合法"),SECKILL_ORDER_SUCCESS(218, "下單成功"),COUPON_GET(220, "優惠券已經領取"),COUPON_LIMIT_GET(221, "優惠券已發放完畢"),LOGIN_CODE(222,"長時間未操作,會話已失效,請刷新頁面后重試!"),CODE_ERROR(223,"驗證碼錯誤!"),TOKEN_ERROR(224,"Token無效!");private Integer code;private String message;private ResultCodeEnum(Integer code, String message) {this.code = code;this.message = message;} }

    2.7.6、JSON響應結果格式封裝類

    @Data @ApiModel(value = "全局統一返回結果") public class Result<T> {@ApiModelProperty(value = "返回碼")private Integer code;@ApiModelProperty(value = "返回消息")private String message;@ApiModelProperty(value = "返回數據")private T data;public Result(){}// 返回數據protected static <T> Result<T> build(T data) {Result<T> result = new Result<T>();if (data != null)result.setData(data);return result;}public static <T> Result<T> build(T body, ResultCodeEnum resultCodeEnum) {Result<T> result = build(body);result.setCode(resultCodeEnum.getCode());result.setMessage(resultCodeEnum.getMessage());return result;}public static<T> Result<T> ok(){return Result.ok(null);}/*** 操作成功* @param data* @param <T>* @return*/public static<T> Result<T> ok(T data){Result<T> result = build(data);return build(data, ResultCodeEnum.SUCCESS);}public static<T> Result<T> fail(){return Result.fail(null);}/*** 操作失敗* @param data* @param <T>* @return*/public static<T> Result<T> fail(T data){Result<T> result = build(data);return build(data, ResultCodeEnum.FAIL);}public Result<T> message(String msg){this.setMessage(msg);return this;}public Result<T> code(Integer code){this.setCode(code);return this;}public boolean isOk() {if(this.getCode().intValue() == ResultCodeEnum.SUCCESS.getCode().intValue()) {return true;}return false;} }

    2.7.7、文件上傳工具類

    public class UploadFile {//存儲文件上傳失敗的錯誤信息private static Map<String, Object> error_result = new HashMap<>();//存儲頭像的上傳結果信息private static Map<String, Object> upload_result = new HashMap<>();/*** @description: 效驗所上傳圖片的大小及格式等信息...* @param: photo* @param: path* @return: java.util.Map<java.lang.String, java.lang.Object>*/private static Map<String, Object> uploadPhoto(MultipartFile photo, String path) {//限制頭像大小(20M)int MAX_SIZE = 20971520;//獲取圖片的原始名稱String orginalName = photo.getOriginalFilename();//如果保存文件的路徑不存在,則創建該目錄File filePath = new File(path);if (!filePath.exists()) {filePath.mkdirs();}//限制上傳文件的大小if (photo.getSize() > MAX_SIZE) {error_result.put("success", false);error_result.put("msg", "上傳的圖片大小不能超過20M喲!");return error_result;}// 限制上傳的文件類型String[] suffixs = new String[]{".png", ".PNG", ".jpg", ".JPG", ".jpeg", ".JPEG", ".gif", ".GIF", ".bmp", ".BMP"};SuffixFileFilter suffixFileFilter = new SuffixFileFilter(suffixs);if (!suffixFileFilter.accept(new File(path + orginalName))) {error_result.put("success", false);error_result.put("msg", "禁止上傳此類型文件! 請上傳圖片喲!");return error_result;}return null;}/*** @description: (提取公共代碼 : 提高代碼的可重用性)獲取頭像的上傳結果信息* @param: photo* @param: dirPaht* @param: portraitPath* @return: java.util.Map<java.lang.String, java.lang.Object>*/public static Map<String, Object> getUploadResult(MultipartFile photo, String dirPaht, String portraitPath) {if (!photo.isEmpty() && photo.getSize() > 0) {//獲取圖片的原始名稱String orginalName = photo.getOriginalFilename();//上傳圖片,error_result:存儲頭像上傳失敗的錯誤信息Map<String, Object> error_result = UploadFile.uploadPhoto(photo, dirPaht);if (error_result != null) {return error_result;}//使用UUID重命名圖片名稱(uuid__原始圖片名稱)String newPhotoName = UUID.randomUUID() + "__" + orginalName;//將上傳的文件保存到目標目錄下try {photo.transferTo(new File(dirPaht + newPhotoName));upload_result.put("success", true);upload_result.put("portrait_path", portraitPath + newPhotoName);//將存儲頭像的項目路徑返回給頁面} catch (IOException e) {e.printStackTrace();upload_result.put("success", false);upload_result.put("msg", "上傳文件失敗! 服務器端發生異常!");return upload_result;}} else {upload_result.put("success", false);upload_result.put("msg", "頭像上傳失敗! 未找到指定圖片!");}return upload_result;} }

    2.8、創建數據表及數據

    SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;-- ---------------------------- -- Table structure for tb_admin -- ---------------------------- DROP TABLE IF EXISTS `tb_admin`; CREATE TABLE `tb_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`gender` CHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`password` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`telephone` VARCHAR(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`address` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`portrait_path` VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = INNODB AUTO_INCREMENT = 157 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;-- ---------------------------- -- Records of tb_admin -- ---------------------------- INSERT INTO `tb_admin` VALUES (101, 'admin', '女', '21232f297a57a5a743894a0e4a801fc3', '111111@qq.com', '13260161111', '昌平', 'upload/default.jpg'); INSERT INTO `tb_admin` VALUES (102, 'admin1', '男', '21232f297a57a5a743894a0e4a801fc3', '512111559@qq.com', '13260166090', '北京', 'upload/default.jpg'); INSERT INTO `tb_admin` VALUES (103, 'admin2', '男', '21232f297a57a5a743894a0e4a801fc3', '512111559@qq.com', '13260166090', '北京', 'upload/default.jpg'); INSERT INTO `tb_admin` VALUES (104, 'admin3', '男', '21232f297a57a5a743894a0e4a801fc3', '123456@qq.com', '13666666666', '宏福苑', 'upload/default.jpg');-- ---------------------------- -- Table structure for tb_clazz -- ---------------------------- DROP TABLE IF EXISTS `tb_clazz`; CREATE TABLE `tb_clazz` (`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`number` INT(3) NULL DEFAULT NULL,`introducation` VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`headmaster` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`telephone` VARCHAR(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`grade_name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = INNODB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;-- ---------------------------- -- Records of tb_clazz -- ---------------------------- INSERT INTO `tb_clazz` VALUES (1, '一年一班', 30, '大圣的一年一班好', '大圣', 'dasheng@163.com', '13260166090', '一年級'); INSERT INTO `tb_clazz` VALUES (2, '一年二班', 28, '小張的一年二班好', '小張', 'xiaozhang@163.com', '13260166090', '一年級'); INSERT INTO `tb_clazz` VALUES (3, '二年一班', 35, '小韓的二年一班好', '小韓', 'xiaohan@163.com', '13260166090', '二年級'); INSERT INTO `tb_clazz` VALUES (4, '二年二班', 30, '小強的二年二班好', '小強', 'xiaoqiang@163.com', '13260166090', '二年級'); INSERT INTO `tb_clazz` VALUES (5, '三年一班', 30, '小花的三年一班好', '小花', 'xiaohua@163.com', '13260166090', '三年級'); INSERT INTO `tb_clazz` VALUES (6, '三年二班', 30, '小趙的三年二班好', '小趙', 'xiaozhao@163.com', '13260166090', '三年級'); INSERT INTO `tb_clazz` VALUES (7, '四年一班', 30, '小趙的三年二班好', '小飛', 'xiaofei@163.com', '13260166090', '四年級');-- ---------------------------- -- Table structure for tb_grade -- ---------------------------- DROP TABLE IF EXISTS `tb_grade`; CREATE TABLE `tb_grade` (`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',`manager` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`telephone` VARCHAR(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`introducation` VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`, `name`) USING BTREE ) ENGINE = INNODB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;-- ---------------------------- -- Records of tb_grade -- ---------------------------- INSERT INTO `tb_grade` VALUES (1, '一年級', '大圣', 'dasheng@163.com', '13260166090', '大學一年級'); INSERT INTO `tb_grade` VALUES (2, '二年級', '小魏', 'xiaowei@163.com', '13260166090', '大學二年級'); INSERT INTO `tb_grade` VALUES (3, '三年級', '小李', 'xiaoli@163.com', '13666666666', '三年級,這個班級的孩子們很有才藝'); INSERT INTO `tb_grade` VALUES (4, '五年級', '小麗', 'li@123.com', '13666666666', '這個年級的同學多才多活力'); INSERT INTO `tb_grade` VALUES (5, '六年級', '小明', 'xiaoming@666.com', '13666666666', '這個年級的主任是小明');-- ---------------------------- -- Table structure for tb_student -- ---------------------------- DROP TABLE IF EXISTS `tb_student`; CREATE TABLE `tb_student` (`id` INT(11) NOT NULL AUTO_INCREMENT,`sno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`gender` CHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`password` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`telephone` VARCHAR(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`address` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`introducation` VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`portrait_path` VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`clazz_name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = INNODB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;-- ---------------------------- -- Records of tb_student -- ---------------------------- INSERT INTO `tb_student` VALUES (1, '1001', '張小明', '男', 'e10adc3949ba59abbe56e057f20f883e', 'yinyufei@163.com', '13260166090', '北京天通苑', '這個學生學習好', 'upload/default.jpg', '一年一班'); INSERT INTO `tb_student` VALUES (2, '1002', '郭建超', '男', 'e10adc3949ba59abbe56e057f20f883e', 'guojianchao@163.com', '13260166090', '北京昌平', '這個學生會功夫', 'upload/default.jpg', '一年一班'); INSERT INTO `tb_student` VALUES (3, '1003', '史汶鑫', '男', 'e10adc3949ba59abbe56e057f20f883e', 'shiwenxin@163.com', '13260166090', '北京昌平', '這個學生酒量好', 'upload/default.jpg', '二年一班'); INSERT INTO `tb_student` VALUES (4, '1004', '高建軍', '男', 'e10adc3949ba59abbe56e057f20f883e', 'gaojianjun@163.com', '13260166090', '北京昌平', '這個學生會做飯', 'upload/default.jpg', '二年一班'); INSERT INTO `tb_student` VALUES (5, '1005', '鄒偉斌', '男', 'e10adc3949ba59abbe56e057f20f883e', 'zouweibin@163.com', '13260166090', '北京昌平', '這個學生能吃辣', 'upload/default.jpg', '三年一班'); INSERT INTO `tb_student` VALUES (6, '1006', '劉路', '男', 'e10adc3949ba59abbe56e057f20f883e', 'liulu@163.com', '13260166090', '北京昌平', '這個學生是學霸', 'upload/default.jpg', '三年二班'); INSERT INTO `tb_student` VALUES (7, '1007', '龐家仨', '女', 'e10adc3949ba59abbe56e057f20f883e', 'pangjiasan@163.com', '13260166090', '北京昌平', '這個學生海拔高', 'upload/default.jpg', '三年二班'); INSERT INTO `tb_student` VALUES (8, '1008', '譚帥', '男', 'e10adc3949ba59abbe56e057f20f883e', 'tanshuai@163.com', '13260166090', '北京昌平', '這個學生想考研', 'upload/default.jpg', '四年一班');-- ---------------------------- -- Table structure for tb_teacher -- ---------------------------- DROP TABLE IF EXISTS `tb_teacher`; CREATE TABLE `tb_teacher` (`id` INT(11) NOT NULL AUTO_INCREMENT,`tno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`gender` CHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`password` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`telephone` VARCHAR(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`address` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`portrait_path` VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`clazz_name` VARCHAR(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = INNODB AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;-- ---------------------------- -- Records of tb_teacher -- ---------------------------- INSERT INTO `tb_teacher` VALUES (1, '101', '大圣', '女', '123456', 'dasheng@163.com', '13260166090', '北京昌平', 'upload/default.jpg', '一年一班'); INSERT INTO `tb_teacher` VALUES (2, '102', '小張', '男', 'e10adc3949ba59abbe56e057f20f883e', 'xiaozhang@163.com', '13260166090', '北京海淀', 'upload/default.jpg', '一年二班'); INSERT INTO `tb_teacher` VALUES (3, '103', '小韓', '男', 'e10adc3949ba59abbe56e057f20f883e', 'xiaohan@163.com', '13260166090', '北京朝陽', 'upload/default.jpg', '二年一班'); INSERT INTO `tb_teacher` VALUES (4, '104', '小強', '男', 'e10adc3949ba59abbe56e057f20f883e', 'xiaoqiang@163.com', '13260166090', '北京通州', 'upload/default.jpg', '二年二班'); INSERT INTO `tb_teacher` VALUES (5, '105', '小花', '男', 'e10adc3949ba59abbe56e057f20f883e', 'xiaohua@163.com', '13260166090', '北京順義', 'upload/default.jpg', '三年一班'); INSERT INTO `tb_teacher` VALUES (6, '106', '小趙', '男', 'e10adc3949ba59abbe56e057f20f883e', 'xiaozhao@163.com', '13260166090', '北京東城', 'upload/default.jpg', '三年二班'); INSERT INTO `tb_teacher` VALUES (7, '107', '小飛', '男', 'e10adc3949ba59abbe56e057f20f883e', 'xiaofei@163.com', '13260166090', '北京西城', 'upload/default.jpg', '四年一班'); INSERT INTO `tb_teacher` VALUES (8, '108', '秀秀', '女', 'e10adc3949ba59abbe56e057f20f883e', '123456@123.com', '13855555555', '海淀', 'upload/12fe07bf8b6d493b96294f1ef0552339default.jpg', '一年一班');SET FOREIGN_KEY_CHECKS = 1;

    2.9、根據數據表準備pojo、mapper、controller、service及其實現類

    這里展示admin,其他操作一樣

    @Data @AllArgsConstructor @NoArgsConstructor @TableName("tb_admin") public class Admin {@TableId(value = "id", type = IdType.AUTO)private Integer id;private String name;private Character gender;private String password;private String email;private String telephone;private String address;private String portraitPath; // 頭像圖片路徑 } @Mapper public interface AdminMapper extends BaseMapper<Admin> { } public interface AdminService extends IService<Admin> { } @Service("adminServiceImpl") @Transactional public class AdminServiceImpl extends ServiceImpl<AdminMapper, Admin> implements AdminService { } @RestController @RequestMapping("/sms/adminController") public class AdminController { }

    完成以上搭建后,應該可以實現對首頁的訪問

    總結

    以上是生活随笔為你收集整理的尚硅谷智慧校园 —— 1、简介及环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    黄色av电影在线观看 | 992tv人人草| 国模精品一区二区三区 | 久久国内精品视频 | 欧美日韩精品二区第二页 | 成人免费在线观看av | 九九热免费在线观看 | 黄色一区二区在线观看 | 在线免费国产 | 国产探花在线看 | 热re99久久精品国产66热 | 国产成人777777 | 亚洲视频久久久 | 狠狠躁18三区二区一区ai明星 | 激情综合色播五月 | av动态图片 | 99精品在线免费观看 | 中文字幕日本特黄aa毛片 | 久久久久久国产精品999 | 亚洲精品视频网站在线观看 | 中文字幕在线专区 | 欧美日韩在线免费视频 | 爱色av.com | 99免费| 亚洲欧洲国产精品 | 国产精品一区二区三区四 | 中文字幕 影院 | 蜜桃视频在线视频 | 久久电影国产免费久久电影 | 91视频免费看 | 久久99国产综合精品 | 在线视频麻豆 | 国产精品免费在线播放 | 成年人天堂com | 国产呻吟在线 | 久久午夜精品视频 | 色综合天天综合网国产成人网 | 久久99精品波多结衣一区 | 1024久久| 狠狠色伊人亚洲综合成人 | 91亚洲综合 | 日韩欧美精品在线 | 热久在线 | 日韩免费电影一区二区三区 | zzijzzij日本成熟少妇 | 久久久久久国产一区二区三区 | 久久视频在线观看中文字幕 | 久久久久久久久国产 | 一区二区三区视频网站 | 久久er99热精品一区二区三区 | 欧美国产精品久久久久久免费 | 国产视频1| 国内揄拍国产精品 | 成人99免费视频 | 欧美在线99| 欧美日韩一二三四区 | 91社区国产高清 | 国产一区视频在线观看免费 | 四虎免费在线观看视频 | 久久精品视频在线播放 | 亚洲影院国产 | 久久综合狠狠狠色97 | 午夜久久成人 | av日韩av| 亚洲黄色在线观看 | 色多视频在线观看 | 免费看的黄色小视频 | 久久综合九色综合久99 | 中文字幕在线资源 | 91一区二区在线 | av免费成人| 天天操夜夜叫 | 久久久久国产精品免费网站 | 手机成人av在线 | 国产黄色大片 | 玖操 | 玖玖视频网 | 亚洲乱码在线 | 日韩久久精品一区二区 | 欧美一二三视频 | av免费在线网站 | 青青草久草在线 | 国产99在线免费 | 人人澡av | 99热在线观看 | 亚洲黄色在线观看 | 精品国产aⅴ麻豆 | 伊人资源站 | 在线国产不卡 | 国产美女精品人人做人人爽 | 69国产精品视频免费观看 | 久草99 | av天天干| 极品嫩模被强到高潮呻吟91 | wwwav视频| 色狠狠婷婷| 又爽又黄又无遮挡网站动态图 | 波多野结衣视频在线 | 91av小视频| 一区二区在线电影 | 成人av播放 | 不卡精品 | 在线国产片 | 久久爱www.| 精品国产乱码一区二区三区在线 | 中文字幕免费在线 | 久久午夜电影院 | 国产网站在线免费观看 | 久久久av免费 | 丁香六月天| 国产日韩欧美在线一区 | 深爱激情亚洲 | 亚洲一区二区三区毛片 | 干综合网 | 黄色大片入口 | av中文在线影视 | 久久久久久国产精品 | 91亚洲精品久久久中文字幕 | 天堂在线视频中文网 | 成人在线免费视频观看 | 91av视频网站 | 最新极品jizzhd欧美 | 成人av一二三区 | 97国产情侣爱久久免费观看 | 天天色天天 | 91av蜜桃 | 精品国产伦一区二区三区观看体验 | 在线观看av小说 | 99在线视频播放 | 天天干.com| 久久精品美女视频 | 狠狠婷婷 | 人人狠狠综合久久亚洲 | 国产三级久久久 | 在线观看 国产 | 在线观看不卡视频 | 欧美视频一区二 | 国产精品 日韩 | 国产黄色免费电影 | 国产69久久 | 999久久久久久久久6666 | 国产一区二区三区在线免费观看 | 久久激情电影 | 蜜臀av在线一区二区三区 | 亚洲精品色 | 97偷拍视频 | 国产玖玖视频 | 狠日日 | 91网站在线视频 | 在线观看视频中文字幕 | av在线等| 三级av免费观看 | 91av视频观看 | 国产午夜一级毛片 | 色婷婷狠狠五月综合天色拍 | 国产亚洲精品久久久久久久久久 | 91网免费观看 | 精品视频在线视频 | 国产日韩欧美在线 | 亚洲一区二区三区毛片 | 国产精品久久久久久爽爽爽 | 91成人观看 | 亚洲精品影视在线观看 | 91免费在线 | 精品国产伦一区二区三区 | 99精品免费久久久久久久久 | 黄色免费在线看 | 蜜桃av久久久亚洲精品 | 日韩色中色 | 国产很黄很色的视频 | 国产一级做a爱片久久毛片a | 久久久久高清 | 97超级碰 | 黄色特级毛片 | 亚洲九九九在线观看 | 在线观看免费高清视频大全追剧 | av在线免费观看网站 | 97精品超碰一区二区三区 | 亚洲国产美女精品久久久久∴ | 日韩高清一二三区 | 亚洲精品视频www | 99精品视频在线 | 夜夜操天天操 | 国产亚洲在线 | 亚洲最大av网站 | 成人国产精品久久久 | 国产原厂视频在线观看 | 国产精品18久久久久久久久 | 精品国产一区二区三区四区vr | 国产无遮挡又黄又爽馒头漫画 | 亚洲一二三区精品 | 亚洲免费不卡 | 欧美日韩二区三区 | 欧美性生活免费看 | 国产精品欧美在线 | 欧美精品一区二区三区一线天视频 | av成人资源 | 免费精品视频在线 | 国产原创av在线 | 中文一区在线 | 国产在线日本 | 一本色道久久综合亚洲二区三区 | 精品久久国产精品 | 成人影音在线 | 国产偷v国产偷∨精品视频 在线草 | 国产无遮挡猛进猛出免费软件 | 成人在线视频网 | 不卡av电影在线 | 综合网伊人 | 在线观看播放av | 国产97碰免费视频 | 99在线播放 | 999ZYZ玖玖资源站永久 | 免费在线一区二区三区 | 成年人在线观看免费视频 | 久久视频6 | 国产一区二区在线观看视频 | 国产精品视频999 | 91精品国产亚洲 | 黄色app网站在线观看 | www.综合网.com | 天堂av在线网址 | 亚洲精品国偷自产在线99热 | 毛片播放网站 | 狠狠操狠狠干天天操 | 黄色的视频网站 | 成人一区二区在线 | 黄色在线免费观看网站 | 国产精品久久久免费 | 伊人婷婷激情 | 久久久免费精品国产一区二区 | 五月开心六月伊人色婷婷 | 97国产精品| 亚洲日日射 | 久久夜色精品国产欧美乱极品 | avove黑丝 | 亚洲午夜久久久综合37日本 | 国产精品国产三级国产aⅴ入口 | 99热最新 | 亚洲在线视频播放 | 国产在线 一区二区三区 | 久久99精品久久只有精品 | 中文字幕精品在线 | 日韩精品一区二区三区中文字幕 | 中文字幕资源网在线观看 | 亚洲午夜久久久久久久久电影网 | 韩国一区二区三区视频 | 天堂在线视频免费观看 | 国产精品二区在线观看 | 开心婷婷色| 在线观看日韩专区 | 国产免费资源 | av电影免费观看 | 久久久久免费观看 | 中文字幕在线第一页 | 久久精品99国产精品 | a天堂中文在线 | 中文字幕免费观看全部电影 | 亚洲精品国产区 | 亚洲电影自拍 | 国产精品一区专区欧美日韩 | 91精品天码美女少妇 | 久草在线视频免赞 | 91精品视频一区二区三区 | 久久久久免费精品国产 | 国产丝袜美腿在线 | 五月婷婷免费 | 国产91aaa| 国产精品福利无圣光在线一区 | 国产一级二级在线播放 | 五月天网页| 毛片一区二区 | 高清在线一区二区 | 日韩视频一区二区 | 成全在线视频免费观看 | 中文字幕在线网 | 欧美精品黑人性xxxx | 日日夜夜人人天天 | 91入口在线观看 | 亚洲区二区 | 天天干天天碰 | 日韩av中文在线 | 激情五月伊人 | 亚洲一区日韩精品 | 日韩乱理| 色综合天天色 | 亚洲国产精品日韩 | 国产精品手机在线播放 | 国产日本在线播放 | 免费网址你懂的 | 欧美久久久 | 91精品国产成人 | .国产精品成人自产拍在线观看6 | 天天干夜夜擦 | 久久a热6| 中文视频在线播放 | 中文超碰字幕 | av丝袜天堂 | 久草精品视频 | 91成年人网站 | 欧美日韩不卡一区二区 | 成片视频在线观看 | av资源中文字幕 | 国产精品a成v人在线播放 | 亚洲精品字幕在线 | 中文字幕日韩国产 | 亚洲春色综合另类校园电影 | 国产精品对白一区二区三区 | 18国产精品白浆在线观看免费 | 在线播放 日韩专区 | 99爱精品在线| av观看在线观看 | 色久av | 国产黄在线免费观看 | 久热免费在线 | 久久综合中文字幕 | 91精品专区 | 日韩中文字幕电影 | 成人黄色片免费看 | 国内久久精品视频 | 久久精品亚洲一区二区三区观看模式 | 欧美日韩中文在线视频 | 成人国产一区二区 | 91麻豆国产 | 久久久久久久久久免费视频 | 欧美人交a欧美精品 | 91在线观看视频网站 | 久久手机免费视频 | 麻豆av一区二区三区在线观看 | 一区二区三区免费在线 | 国产精品久久久久久久av大片 | 中文字幕精品一区二区精品 | 久久久久久久久久久久国产精品 | 午夜精品福利一区二区 | 亚洲精品女人久久久 | avwww在线 | 成人黄色在线观看视频 | 亚洲成av人片在线观看www | 看国产黄色片 | 97激情影院 | 国产生活一级片 | 国产精品久久一 | 欧美日韩在线观看一区二区 | 国产精品视频999 | 精品久久久久久久久中文字幕 | 日日夜夜婷婷 | 美女免费黄网站 | 成人av一二三区 | 西西www444| 91网在线看| 久久精品欧美一区二区三区麻豆 | 欧美一区免费在线观看 | 久久电影日韩 | 久草在线视频网 | 99这里只有精品视频 | 在线免费观看国产视频 | 国产毛片aaa | 国产精品久久久久永久免费观看 | 日韩在线观看不卡 | 国产精品一区二区三区电影 | 97精品国自产拍在线观看 | 国产日韩欧美在线影视 | 国产精品毛片一区二区在线看 | 天天干天天拍天天操 | 成人av电影免费在线播放 | 奇米影视999 | 亚洲精品播放 | av手机版 | 天天做天天爱夜夜爽 | 午夜久操 | 日韩乱码在线 | 成人久久综合 | 97电影网站 | 日本久久精品 | 亚洲国产精品日韩 | 国产精品都在这里 | 一二区av | av资源网在线播放 | 午夜精品一区二区三区在线视频 | 免费精品国产va自在自线 | 在线国产视频一区 | 午夜精品一区二区国产 | 日韩电影在线观看一区 | 久久久精品国产一区二区三区 | 精品久久久久久久久久久院品网 | 免费观看视频的网站 | 国产在线国偷精品产拍 | 91网站在线视频 | 人人澡人人添人人爽一区二区 | 高清av免费看 | 日韩动态视频 | 香蕉在线观看视频 | 国产日韩欧美在线免费观看 | 在线观看亚洲国产精品 | 久久精品99国产精品酒店日本 | 日韩欧美综合视频 | 亚洲婷婷伊人 | www.亚洲精品视频 | 久久66热这里只有精品 | 97在线观看免费视频 | 久久成人免费电影 | 狠狠色丁香久久综合网 | 亚洲精品乱码久久久一二三 | 国产精品一区二区三区视频免费 | 国产成人三级在线播放 | 色综合久久中文综合久久牛 | 91伊人久久大香线蕉蜜芽人口 | 国产视频在线观看一区 | 成人久久免费视频 | 国产免费高清视频 | 亚洲国产免费av | 国产久草在线 | 色婷婷色 | 欧美另类调教 | 91九色蝌蚪视频 | 人人草在线视频 | 国产理伦在线 | 99视频黄 | 91麻豆精品国产91久久久久 | 国产最新视频在线观看 | 91完整版在线观看 | 色香天天 | 黄免费在线观看 | 亚洲黄色一级视频 | 国产一级淫片在线观看 | 欧美精品首页 | 欧美一级片免费在线观看 | 四虎影视av| 亚洲精品乱码久久久久久高潮 | 久久精品高清视频 | 六月激情婷婷 | 国产免费一区二区三区最新6 | 国产精品一区二区三区在线看 | 久久a级片| 久久精品免费播放 | 国产精品免费久久久久影院仙踪林 | www·22com天天操 | 天天操天天摸天天干 | 久久96国产精品久久99漫画 | 在线观看v片 | 九九激情视频 | 国产精品麻豆三级一区视频 | 亚洲视频www | 91久久国产精品 | 久久视频免费观看 | 中文字幕一区二区三区久久蜜桃 | 色小说在线 | 在线观看中文字幕一区二区 | 亚洲精品电影在线 | av在线永久免费观看 | 亚洲精品影院在线观看 | 在线观看www视频 | 日韩久久精品一区二区三区下载 | 91精品播放 | av蜜桃在线 | 国产成人在线观看 | 91麻豆精品国产午夜天堂 | 国产高清免费观看 | 精品国产一区二区三区在线观看 | 96精品高清视频在线观看软件特色 | 97人人爽人人 | www久| 亚洲最新视频在线 | 永久免费的av电影 | 深夜视频久久 | 色香蕉在线视频 | 不卡日韩av| 欧美午夜a | 色a在线观看 | 中文国产在线观看 | 91亚洲精品国偷拍自产在线观看 | 国产精品一区在线观看 | 日韩欧美高清视频在线观看 | 午夜精品久久一牛影视 | 性色av一区二区三区在线观看 | 亚洲欧美日韩在线看 | 日韩久久一区二区 | 国产亚洲精品成人av久久ww | 中文字幕资源站 | 成人黄色电影在线播放 | 久久伊人精品天天 | 黄免费网站 | 美女很黄免费网站 | 欧美激情精品 | 日日夜夜精品免费观看 | 色婷婷啪啪免费在线电影观看 | 中文字幕欧美日韩va免费视频 | 黄色www| 国产精品美女www爽爽爽视频 | 九九九九九九精品任你躁 | 爱色av.com| 亚洲第一香蕉视频 | 天天爽天天摸 | 国内久久久久久 | 国产精品福利小视频 | 婷婷五天天在线视频 | 国产精品久久久久久电影 | 亚洲午夜精品久久久久久久久久久久 | 免费黄色一区 | 日本不卡123区 | 日韩三级.com | 在线播放 一区 | 中文字幕成人一区 | 女人魂免费观看 | 久久久久伦理电影 | 在线观看视频黄 | 中文字幕久久网 | 久久久久亚洲精品中文字幕 | 99精品一区 | 日韩精品免费一区二区 | 国产又粗又猛又色 | 日韩特黄一级欧美毛片特黄 | 亚洲视频一区二区三区在线观看 | 国产在线2020 | 51久久成人国产精品麻豆 | 亚洲精品婷婷 | 成人动漫精品一区二区 | 六月天色婷婷 | 日韩综合第一页 | 激情开心色 | 国产精品v欧美精品 | 亚洲精品乱码久久久久久按摩 | 中文字幕资源在线观看 | 伊人宗合网 | 久久久久久久国产精品视频 | 99热只有精品在线观看 | 中文字幕永久 | 日韩精品一区二区在线观看视频 | 亚洲九九九 | 最新国产在线观看 | 日本h视频在线观看 | 97超视频免费观看 | 婷婷丁香导航 | 亚洲精品久久久久58 | 国产伦精品一区二区三区四区视频 | 久久久国产毛片 | 天堂在线一区 | 国产午夜精品av一区二区 | 欧美视频18 | 欧美亚洲精品在线观看 | 91色综合| 日韩欧美高清视频在线观看 | 成人黄色毛片 | 国产成人精品电影久久久 | 日韩精品一区二区在线观看视频 | 亚洲国产精品视频在线观看 | 日产乱码一二三区别在线 | 欧美analxxxx| 日本狠狠干 | 久久欧美精品 | 免费黄在线观看 | 精品国产一二三 | 久草综合视频 | 中文字幕av免费在线观看 | 在线看一区 | 国产午夜麻豆影院在线观看 | 欧美九九九 | 国产精品久久久久久久免费 | 国产精品久免费的黄网站 | 国产日韩欧美在线看 | 二区精品视频 | 正在播放五月婷婷狠狠干 | 一区二区电影网 | 亚洲成人精品国产 | 国产高清在线不卡 | 去干成人网 | 欧美伊人网 | 久草在线久草在线2 | 日韩欧美一级二级 | 欧美天堂视频在线 | 日韩欧美一区二区三区视频 | 日韩av影视| 亚洲欧美日韩一二三区 | 天天干天天拍天天操天天拍 | 国产无区一区二区三麻豆 | 精品99在线视频 | 久久区二区| 色婷婷www| 免费亚洲视频在线观看 | 国产裸体视频网站 | 国产美女在线观看 | 欧美日韩国产在线观看 | 久久草在线视频国产 | 久久理论电影网 | 日韩高清一区在线 | 在线91网 | 国产中文伊人 | 久久久久网站 | 国产又粗又猛又爽又黄的视频免费 | 最近在线中文字幕 | 久久久精品日本 | 亚洲成人网av | 久久这里只精品 | 人人爽爽人人 | 久久精品视频网站 | 极品久久久久久久 | 最新国产精品亚洲 | 国产一级精品视频 | 天天操天天色天天射 | 69xx视频 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 视频在线一区二区三区 | 三级av网| 奇米网网址 | 日本中文字幕影院 | 又黄又刺激视频 | 2024av| 日韩成人精品一区二区三区 | 欧美日本不卡 | 久久99久久99精品免观看粉嫩 | 亚洲国产福利视频 | 久久av一区二区三区亚洲 | 狠狠狠狠狠狠狠干 | 成人福利av | 99精品视频在线免费观看 | 九月婷婷色 | 精品国产资源 | 国产电影黄色av | 国产婷婷久久 | 日韩在线视频在线观看 | 国产精品 日韩精品 | 一区二区三区免费在线播放 | 日韩日韩日韩日韩 | 高清免费在线视频 | 久久久精品国产免费观看同学 | 一区二区三区四区五区在线 | 91爱爱网址 | 国产91精品一区二区绿帽 | 日日爱影视 | 国产精品一区久久久久 | 蜜臀久久99精品久久久酒店新书 | 黄网站大全| 精品亚洲二区 | 精品美女国产在线 | 欧美日韩精品综合 | 黄网站免费看 | 日韩综合在线观看 | 久久一精品 | 国产精品美女 | 久草电影在线 | 午夜精品久久久久久久久久 | 999精品| 狠狠狠色丁香综合久久天下网 | 日韩激情小视频 | 狠狠网亚洲精品 | 亚洲在线网址 | 蜜臀久久99精品久久久酒店新书 | 丝袜美女视频网站 | 国产精品一区二区62 | 亚洲欧美经典 | 国产理论一区二区三区 | 91视频 - v11av| 亚洲aaa级 | 日韩av在线高清 | 国产婷婷视频在线 | 久久久国产一区二区三区 | 五月婷婷丁香 | 五月婷婷深开心 | 国产精品精品国产色婷婷 | av成人在线电影 | 高清av在线免费观看 | 香蕉久草 | 国产国产人免费人成免费视频 | 日日操网站 | 国产中文字幕在线播放 | 色www精品视频在线观看 | 成人久久精品视频 | 天天爱天天爽 | 黄色综合 | 亚洲伊人av | 精品国产一区二区三区免费 | av爱干| 色综合色综合久久综合频道88 | 精品国产一区二区三区不卡 | 成人黄色电影免费观看 | 久久嗨 | 97国产精品免费 | 久久爱992xxoo| 国产精品99久久久久人中文网介绍 | 一级黄色大片在线观看 | 国产欧美日韩精品一区二区免费 | 91在线操 | 九九精品在线观看 | 91人人揉日日捏人人看 | 亚洲精品国产品国语在线 | www五月| 国产精品久久久久久久久久三级 | 五月激情综合婷婷 | 天天操天天爱天天干 | 久久久黄色 | 狠狠的干狠狠的操 | 色五月成人 | 亚洲天堂网视频 | av网站在线免费观看 | 免费在线观看91 | 黄色小说在线观看视频 | 免费看片在线观看 | 午夜精品一区二区三区视频免费看 | 亚洲精品字幕 | 日韩特黄一级欧美毛片特黄 | 久久久久成人精品亚洲国产 | 国产成人香蕉 | 国产精品99久久久久的智能播放 | 天天av天天 | 欧美激情精品久久久久久免费印度 | 伊人久操| 粉嫩av一区二区三区入口 | 日日夜夜天天干 | 日韩精品视频在线免费观看 | 激情婷婷丁香 | 午夜骚影 | www.久久成人 | 成人av电影在线 | 日本黄色一级电影 | 视频成人 | 午夜精品视频一区二区三区在线看 | 久久人人爽爽人人爽人人片av | 精品一区二区三区香蕉蜜桃 | 一区二区理论片 | 久久久久久久av麻豆果冻 | 午夜91在线 | 97人人精品 | 丁香婷婷久久久综合精品国产 | 日韩在线视频线视频免费网站 | 成年人av在线播放 | 亚洲国产一区av | 日韩欧美在线视频一区二区 | 国产精品女 | 永久免费在线 | 国产亚洲久一区二区 | 99免费在线观看 | 91成人小视频 | 91成人精品国产刺激国语对白 | 成年人免费看 | 在线最新av| 色中文字幕在线观看 | 91资源在线免费观看 | 国产尤物视频在线 | 91久久久久久国产精品 | 玖玖在线播放 | av在线最新 | 97超碰总站 | 91九色蝌蚪视频在线 | 日韩精品中文字幕av | 日韩偷拍精品 | 波多野结衣在线视频一区 | 中文字幕在线高清 | 国产高清免费视频 | 久久美女视频 | 亚洲视频国产 | 久久精品美女视频网站 | 日本久久免费视频 | 中文字幕亚洲五码 | 91视频久久 | 日韩视频在线观看免费 | 91麻豆精品国产91久久久久久久久 | 婷婷中文字幕在线观看 | 久久中文字幕视频 | 国产日韩欧美视频 | 亚洲 欧美日韩 国产 中文 | 色国产精品一区在线观看 | 中文字幕在线乱 | 黄色av成人在线观看 | 一区二区欧美日韩 | 97激情影院 | 国产高清在线 | 91色一区二区三区 | 一区二区视频电影在线观看 | 婷婷电影在线观看 | 在线日韩中文字幕 | 99九九99九九九视频精品 | 91九色成人蝌蚪首页 | 激情综合五月婷婷 | 国产一区二区三区午夜 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 在线观看国产 | 亚洲精品九九 | 色中色综合 | 激情五月五月婷婷 | 国产精品网在线观看 | 成人影片在线播放 | 精品国产1区二区 | 日韩免费高清在线 | 成人午夜影视 | 黄色免费高清视频 | 视频99爱 | 久久久久久久久久伊人 | 亚洲国产三级在线观看 | 91在线成人 | 黄色亚洲片| 久久草视频 | 在线免费观看黄色av | 欧美久久久影院 | 亚洲aⅴ在线观看 | 国产日韩在线观看一区 | 久久人人添人人爽添人人88v | 欧洲精品在线视频 | 国产中文字幕一区二区三区 | 99精品国产福利在线观看免费 | 92精品国产成人观看免费 | 男女激情片在线观看 | 日韩视频免费观看高清 | 在线观看黄网 | 亚洲成人软件 | 91av福利视频 | www五月| 成年人网站免费观看 | 欧美日韩99 | av电影免费在线播放 | 日韩精品免费专区 | 国产精品毛片一区视频播不卡 | 日韩免费福利 | 国产91精品久久久久久 | 久久黄色片 | 97精品欧美91久久久久久 | 久草精品电影 | 欧美日韩国产在线 | a v在线观看| 人人爽人人舔 | 超碰在线最新网址 | 成片免费观看视频大全 | 日韩成人在线免费观看 | 久久精品99久久久久久 | 精品国产电影一区 | 人人干人人模 | www色网站| adn—256中文在线观看 | 国产精品毛片一区二区三区 | 黄色精品一区二区 | 国产专区第一页 | 日韩在线一二三区 | 精品自拍av | 成人a视频 | 五月开心六月伊人色婷婷 | 欧美性猛片, | 国产精品高 | 国产一在线精品一区在线观看 | 在线观看日韩一区 | 天天草av | 中字幕视频在线永久在线观看免费 | 天天干,天天射,天天操,天天摸 | 免费在线黄色av | 亚洲欧洲精品一区二区 | 久久系列 | 色噜噜日韩精品欧美一区二区 | 久久艹综合 | 夜夜操狠狠干 | 狠狠干电影 | 成人av直播| 国产黄色片免费在线观看 | 国产高清在线视频 | 日韩欧美电影 | 国产福利在线免费观看 | 97操操操 | 91黄色在线看 | a黄色一级 | 久久久久一区二区三区四区 | 美女视频免费一区二区 | 免费视频你懂的 | 91成人短视频在线观看 | 亚洲最快最全在线视频 | 免费看黄色91 | 久久免费视频在线观看6 | 久久99国产精品 | .国产精品成人自产拍在线观看6 | 黄色亚洲免费 | 午夜91视频| 日本精品视频一区二区 | 91av精品| 黄色国产区 | 狠狠色丁香婷婷综合最新地址 | 狠狠狠狠狠狠狠狠 | 狠狠干网址 | 亚洲欧美综合 | 精品成人在线 | 久久热亚洲 | 日韩av电影免费在线观看 | 色七七亚洲影院 | 国产精品九九久久99视频 | 美女福利视频一区二区 | 免费一级黄色 | a色视频| 在线观看免费成人av | 最近高清中文字幕 | 亚在线播放中文视频 | 国产视频1区2区3区 久久夜视频 | 久久精品视频免费观看 | 欧美日韩性 | 久草在线视频在线观看 | 97精品国产97久久久久久 | 国产精久久久久久久 | 在线播放av网址 | 999色视频| 日韩在线| 在线黄频 | 亚洲免费国产 | 成年人视频在线免费播放 | 国产精品一区二区美女视频免费看 | 欧美精品久久久久久 | 欧美一二区在线 | 丁香综合激情 | 一区二区三区四区五区在线视频 | 一区二区三区国 | 美女搞黄国产视频网站 | av观看久久久 | 天堂网中文在线 | 久久久精品综合 | 亚洲伊人婷婷 | 四虎国产精品免费观看视频优播 | 久久不射网站 | www.日韩免费 | 丰满少妇一级 | 曰韩在线 | 国产精品免费大片视频 | 免费下载高清毛片 | 97成人在线观看视频 | 国精产品一二三线999 | 国产字幕在线播放 | 天天久久夜夜 | 成 人 黄 色 视频免费播放 | 少妇自拍av | 国产黄色免费看 | 久久a久久 | 在线观看免费色 | 日本黄色大片免费 | 亚洲九九影院 | 国产剧情久久 | 亚洲一级二级三级 | 美女一区网站 | 综合久久久久久 | 欧美福利精品 | 四虎国产精品免费观看视频优播 | 国产一区二区在线免费播放 | 一级免费看| 免费在线观看一级片 | 久久婷婷丁香 | 亚洲精品xxxx | 成人黄色在线 | 国产精品午夜在线观看 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 国际精品网 | 日本黄色大片免费看 | 97精品国产97久久久久久免费 | 99热精品视 | 亚洲另类视频在线观看 | aaa免费毛片 | 亚洲一本视频 | 69av视频在线观看 | 久久伊人国产精品 | 国产精品成久久久久三级 | 狠狠地操 | 日批视频在线播放 | 日韩在线免费播放 | 日韩亚洲国产中文字幕 | 亚洲精品2区 | 中文字幕在线看视频国产 | 在线看中文字幕 | 日本视频网| 国产精品一区二区在线观看 | 在线香蕉视频 | 亚州视频在线 | 嫩模bbw搡bbbb搡bbbb | 日日插日日干 | 国产精品久久久久久久久久久久午夜片 | 久久久久久久久久久高潮一区二区 | 免费在线成人av电影 | 亚洲综合视频在线观看 | 最新色视频 | 日韩电影精品一区 | 免费看av片网站 | 亚洲欧美色婷婷 | 欧美日韩精品在线视频 | 日韩激情综合 | www操操操 | www麻豆视频 | 玖草影院 | 五月天色站| 99re视频在线观看 | 久久精品之 | 美女视频黄色免费 | 97超碰人人澡人人爱 | 久久久久久久久久毛片 | 91高清不卡| 美女精品在线观看 | www.国产精品| 黄色www免费 | 亚洲高清精品在线 | 免费观看国产视频 | 99久久精品一区二区成人 | 成人精品一区二区三区电影免费 | 亚洲乱码久久 | 又色又爽又黄高潮的免费视频 | 91麻豆精品国产91久久久久久 | 中文在线www | 久久99精品国产99久久 | 在线有码中文字幕 | 国产在线观看高清视频 | 黄色www免费 |