精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SpringDataA 和 Mybaits 有什么區別,如何使用?

開發 架構
jpq是面向對象的思想,一個對象就是一個表,強化的是你對這個表的控制。jpa繼承的那么多表約束注解也證明了jpa對這個數據庫對象控制很注重。

阿粉之前一直都是使用傳統的SSM進行開發,也就我們所說的 Spring,SpringMVC,Mybatis,即使使用的SpringBoot,無非也就是這么集中,對于持久層框架的選擇,也都是Mybaits,但是阿粉無意中發現,現在使用SpringDataJPA的公司也是非常的多的,所以,今天阿粉來講一下這個SpringDataJPA.

SpringDataJPA和Mybaits

什么是JPA

jpq是面向對象的思想,一個對象就是一個表,強化的是你對這個表的控制。jpa繼承的那么多表約束注解也證明了jpa對這個數據庫對象控制很注重。

其實,在阿粉的眼中,JPA好像就是和Hibernate是一樣的東西,區別并不大。

Spring Data JPA是Spring Data的子模塊。使用Spring Data,使得基于“repositories”概念的JPA實現更簡單和容易。Spring Data JPA的目標是大大簡化數據訪問層代碼的編碼。作為使用者,我們只需要編寫自己的repository接口,接口中包含一些個性化的查詢方法,Spring Data JPA將自動實現查詢方法.

也就是說是什么呢?如果我們要寫一個根據ID查對象的方法比如:

findUserById(String Id) 首先這個方法的名稱,阿粉起名起的還是比較標準的,如果你在使用SpringDataJPA的話,再repository中直接使用這個方法名,就可以了,但是如果你使用了 Mybaits 的話,可能你需要在xml文件中,或者再方法上寫SQL 就比如這個樣子,

  1. select * from User where id = "xxxxx"

什么是Mybaits

mybatis則是面向sql,你的結果完全來源于sql,而對象這個東西只是用來接收sql帶來的結果集。你的一切操作都是圍繞sql,包括動態根據條件決定sql語句等。mybatis并不那么注重對象的概念。只要能接收到數據就好。

而且MyBatis對于面向對象的概念強調比較少,更適用于靈活的對數據進行增、刪、改、查,所以在系統分析和設計過程中,要最大的發揮MyBatis的效用的話,一般使用步驟則與hibernate有所區別:

綜合整個系統分析出系統需要存儲的數據項目,并畫出E-R關系圖,設計表結構

根據上一步設計的表結構,創建數據庫、表

編寫MyBatis的SQL 映射文件、Pojos以及數據庫操作對應的接口方法

而且現在有很多的Mybaits的插件,用于逆向生成 Mybaits 的文件,比如直接通過你建立的表生成 Dao文件和 dao.xml文件。

但是今天阿粉的重點可不是說這個 Mybatis,而是SpringDataJPA

接下來阿粉就來詳細說說這個SpringDataJPA

什么是SpringDataJPA

官方文檔先放上

總的來說JPA是ORM規范,Hibernate是JPA規范的具體實現,這樣的好處是開發者可以面向JPA規范進行持久層的開發,而底層的實現則是可以切換的。Spring Data Jpa則是在JPA之上添加另一層抽象(Repository層的實現),極大地簡化持久層開發及ORM框架切換的成本。

為什么這么多公司會選擇 Mybaits ,而不選擇使用 SpringDataJPA 呢?

因為Spring Data Jpa的開發難度要大于Mybatis。主要是由于Hibernate封裝了完整的對象關系映射機制,以至于內部的實現比較復雜、龐大,學習周期較長。這對于現在的快捷式開發顯然并不適合,但是因為某些公司最早的開發,所以現在很多公司仍然延續使用 Spring Data Jpa 來進行開發,接下來阿粉就來說說這個 Spring Data Jpa 是如何使用的。

如何使用 SpringDataJPA

我們直接使用SpringBoot 整合一下Spring Data Jpa 來進行操作。來展示如何使用 Spring Data Jpa。

創建一個 SpringBoot 的項目,

然后加入我們的依賴,或者你在創建的時候就進行選擇,比如選擇好我們接下來所需要的所有依賴就像這個樣子。

這個時候我們就直接勾選上lombok,然后SpringWeb,還有我們的數據庫驅動的 Jpa 的依賴。

創建完成,我們就能看到已經為我們添加好了我們所需要的依賴環境

  1. <dependencies> 
  2.        <dependency> 
  3.            <groupId>org.springframework.boot</groupId> 
  4.            <artifactId>spring-boot-starter-data-jpa</artifactId> 
  5.        </dependency> 
  6.        <dependency> 
  7.            <groupId>org.springframework.boot</groupId> 
  8.            <artifactId>spring-boot-starter-web</artifactId> 
  9.        </dependency> 
  10.  
  11.        <dependency> 
  12.            <groupId>mysql</groupId> 
  13.            <artifactId>mysql-connector-java</artifactId> 
  14.            <scope>runtime</scope> 
  15.        </dependency> 
  16.        <dependency> 
  17.            <groupId>org.projectlombok</groupId> 
  18.            <artifactId>lombok</artifactId> 
  19.            <optional>true</optional> 
  20.        </dependency> 
  21.        <dependency> 
  22.            <groupId>org.springframework.boot</groupId> 
  23.            <artifactId>spring-boot-starter-test</artifactId> 
  24.            <scope>test</scope> 
  25.        </dependency> 
  26.    </dependencies> 

 

 

如果不會選依賴的,各位,這肯定是一個非常好的方式。

接下來配置一下 yml 文件

  1. server: 
  2.   port: 8080 
  3.   servlet: 
  4.     context-path: / 
  5. spring: 
  6.   datasource: 
  7.     url: jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false 
  8.     username: root 
  9.     password: 123456 
  10.   jpa: 
  11.     database: MySQL 
  12.     database-platform: org.hibernate.dialect.MySQL5InnoDBDialect 
  13.     show-sql: true 
  14.     hibernate: 
  15.       ddl-auto: update 

看,最后有個hibernate,這就是之前阿粉說的,hibernate提供規范,

ddl-auto

這個參數也是有很多值的,不同的值代表著不同的內容。

  • create:每次運行程序時,都會重新創建表,故而數據會丟失
  • create-drop:每次運行程序時會先創建表結構,然后待程序結束時清空表
  • upadte:每次運行程序,沒有表時會創建表,如果對象發生改變會更新表結構,原有數據不會清空,只會更新(推薦使用)
  • validate:運行程序會校驗數據與數據庫的字段類型是否相同,字段不同會報錯
  • none: 禁用DDL處理

然后啟動一下,看看是否成功,如果出現數據庫啥的不合適的,肯定是帳號和密碼寫錯了,或者連接的數據庫不對,看著改一下。有問題就改嘛,這才是好朋友。

看阿粉啟動的還是相對來說很成功的,接下來我們就得安排一下這個 JPa 的使用方式了。

接下來我們創建好一組內容,Controller,Service,Dao,Entry,

然后是我們實體類的內容和表

  1. @Data 
  2. @Entity 
  3. @Table(name = "user"
  4. public class User { 
  5.     @Id 
  6.     @GenericGenerator(name = "idGenerator", strategy = "uuid"
  7.     @GeneratedValue(generator = "idGenerator"
  8.     private String id; 
  9.     @Column(name = "user_name"unique = true, nullable = false, length = 64) 
  10.     private String userName; 
  11.     @Column(name = "user_password"unique = true, nullable = false, length = 64) 
  12.     private String userPassword; 

這時候主鍵阿粉使用的事uuid的策略,但是 Jpa 也是自帶主鍵生成策略的。

  • TABLE:使用一個特定的數據庫表格來保存主鍵
  • SEQUENCE:根據底層數據庫的序列來生成主鍵,條件是數據庫支持序列。這個值要與generator一起使用,generator 指定生成主鍵使用的生成器(可能是orcale中自己編寫的序列)
  • IDENTITY:主鍵由數據庫自動生成(主要是支持自動增長的數據庫,如mysql)
  • AUTO:主鍵由程序控制,也是GenerationType的默認值

這時候 Dao 需要繼承一下 Jpa 的接口了。

  1. public interface UserDao extends JpaRepository<User, String> {} 

JpaRepository里面可是自帶了不少方法的,

  1. List<T> findAll(); 
  2.  
  3.  List<T> findAll(Sort sort); 
  4.  
  5.  List<T> findAllById(Iterable<ID> ids); 
  6.  
  7.  <S extends T> List<S> saveAll(Iterable<S> entities); 
  8.  
  9.  void flush(); 
  10.  
  11.  <S extends T> S saveAndFlush(S entity); 
  12.  
  13.  <S extends T> List<S> saveAllAndFlush(Iterable<S> entities); 
  14.  
  15.  /** @deprecated */ 
  16.  @Deprecated 
  17.  default void deleteInBatch(Iterable<T> entities) { 
  18.      this.deleteAllInBatch(entities); 
  19.  } 
  20.  
  21.  void deleteAllInBatch(Iterable<T> entities); 
  22.  
  23.  void deleteAllByIdInBatch(Iterable<ID> ids); 
  24.  
  25.  void deleteAllInBatch(); 
  26.  
  27.  /** @deprecated */ 
  28.  @Deprecated 
  29.  T getOne(ID id); 
  30.  
  31.  T getById(ID id); 
  32.  
  33.  <S extends T> List<S> findAll(Example<S> example); 
  34.  
  35.  <S extends T> List<S> findAll(Example<S> example, Sort sort); 

方法是真的不少,主要還是看你怎么使用,

我們來試試吧。

  1. @RestController 
  2. @RequestMapping("/users"
  3. public class UserController { 
  4.  
  5.     @Autowired 
  6.     private UserService userService; 
  7.  
  8.     @RequestMapping(value = "/save"
  9.     public User saveUser() { 
  10.         User user = new User(); 
  11.         user.setUserName("zhangSan"); 
  12.         user.setUserPassword("123456"); 
  13.         return userService.saveUser(user); 
  14.     } 

Service 方法直接調用 UserDao 中的保存,也就是父類中的save方法。

  1. public interface UserService { 
  2.     User saveUser(User user); 
  3.  
  4.  
  5. @Service 
  6. public class UserServiceImpl implements UserService { 
  7.  
  8.     @Autowired 
  9.     private UserDao userDao; 
  10.  
  11.     @Override 
  12.     public User saveUser(User user) { 
  13.         return userDao.save(user); 
  14.     } 

然后我們調用方法,再看看數據庫

我們成功插入進去了一條數據,也就是說,這個方法是沒什么毛病的呀,那是不是可以把所有的方法都挨著試一遍。

阿粉這里就不再一一的演示了,畢竟很簡單的。

如果你覺得這些方法不能夠滿足你的使用,那么你就得繼續看了,畢竟確實不能滿足日常需求呀。就比如說多參數的,查詢,這時候就有And出現,如果有需要,你就得專門的再去 官方文檔中查看了

Jpa官方文檔

如果你想使用一下SQL語句呢?

這時候,你就得寫一個自定義的方法,然后再 Dao 你自定義方法上面加入 @Query注解然后在其中寫你的 SQL 語句。

  1. @Query("select * from User where u.user_password = ?1"
  2. User getByPassword(String password); 

?1這個實際上就是代表的參數,如果有多個參數,可以使使用?2

其實和 Mybaits 的 #{0} 看起來很類似。

Jpa的簡單使用,你學會了么?說實在的,感覺這種方式,把代碼和SQL都融合在了一起,感覺確實不是很好,至少從觀看上面來說,體驗就非常不好。

 

責任編輯:武曉燕 來源: Java極客技術
相關推薦

2021-12-17 14:40:02

while(1)for(;;)語言

2021-05-16 14:26:08

RPAIPACIO

2024-05-27 00:40:00

2024-09-09 13:10:14

2022-02-27 15:33:22

安全CASBSASE

2024-03-05 18:59:59

前端開發localhost

2022-08-02 08:23:37

SessionCookies

2022-06-06 14:53:02

LoRaLoRaWAN

2020-03-09 20:56:19

LoRaLoRaWAN無線技術

2020-11-09 14:07:53

PyQtQt編程

2022-09-07 18:32:57

并發編程線程

2022-09-08 18:38:26

LinuxWindowsmacOS

2024-11-01 09:03:41

varGo語言

2024-03-08 08:26:20

防抖節流delay?

2025-03-10 09:30:00

SpringJava開發

2023-12-15 09:21:17

ObjectJavaString

2022-08-31 08:33:54

Bash操作系統Linux

2022-08-22 07:06:32

MyBatisSQL占位符

2018-07-20 14:00:51

LinuxmacOS內核

2022-02-08 07:02:32

進程線程操作系統
點贊
收藏

51CTO技術棧公眾號

日韩中文字幕av电影| 欧美大奶一区二区| 亚洲欧美一区二区在线观看| 成人在线国产精品| 日韩久久精品视频| 日韩电影免费网址| 精品999在线播放| 777米奇影视第四色| 午夜激情在线观看| 国产精品一区一区三区| 国产999在线观看| 在线看的片片片免费| 日韩高清成人在线| 欧美肥妇毛茸茸| 国产av人人夜夜澡人人爽麻豆| 国产视频第一页在线观看| 国产一区二区导航在线播放| 欧美一区二区三区免费观看| 在线观看黄网址| 三级精品视频| 精品欧美乱码久久久久久| 可以免费在线看黄的网站| 午夜在线播放| 久久综合色8888| 国产精品10p综合二区| 成人黄色三级视频| 亚洲视频1区| 九九久久久久99精品| 一色道久久88加勒比一| 国产精品自在| 欧美一区二区三区在线视频| www.com操| 超级碰碰久久| 天天影视色香欲综合网老头| 影音欧美亚洲| 成年人视频在线观看免费| 91亚洲永久精品| 高清国产在线一区| 国产理论片在线观看| 日韩精品电影在线| 日本国产精品视频| 国产 日韩 欧美 在线| 欧美婷婷在线| 欧美日韩国产91| 精品国产视频一区二区三区| 久久国产中文字幕| 中文字幕9999| 懂色av蜜桃av| 国产日韩视频在线| 亚洲欧美日韩中文在线| 一区二区三区免费在线观看视频| 一区视频网站| 日韩欧美一级在线播放| 日本中文字幕在线不卡| 91麻豆精品| 欧美精品久久久久久久多人混战| 污污动漫在线观看| 国产一区二区精品调教| 欧美亚日韩国产aⅴ精品中极品| 国产精品自拍片| 激情国产在线| 色综合夜色一区| 乱子伦视频在线看| 成人一级视频| 777奇米四色成人影色区| 不卡中文字幕在线观看| 亚洲在线资源| 日韩视频一区二区| 污网站免费观看| 国产精品zjzjzj在线观看| 精品国产一区久久| 色呦呦一区二区| 女优一区二区三区| 中文欧美在线视频| 玖玖爱这里只有精品| 欧美日韩午夜| 91tv亚洲精品香蕉国产一区7ujn| 在线观看中文字幕视频| 日韩影院在线观看| 国产裸体写真av一区二区| 国产视频一二三四区| 国产福利精品一区二区| 精品欧美国产| 国产高清免费av在线| 一区在线播放视频| 国产日本在线播放| 自拍偷自拍亚洲精品被多人伦好爽| 欧美日韩一区成人| 自拍视频第一页| 亚洲精品3区| 最新亚洲国产精品| 久草免费新视频| 欧美中文日韩| 91久久国产婷婷一区二区| 好男人www在线视频| 久久久久综合网| 最新av网址在线观看| a国产在线视频| 欧美色成人综合| 妖精视频一区二区| 日韩精品久久久久久久电影99爱| 欧美大片免费观看| 无码视频一区二区三区| 国产精品一区二区免费不卡| 久久久水蜜桃| 1区2区在线观看| 日本大香伊一区二区三区| aaaaaaaa毛片| re久久精品视频| 欧美激情在线狂野欧美精品| 波多野结衣 久久| 国产成人激情av| 色噜噜狠狠一区二区三区| 91超碰在线免费| 欧美日本一道本| 粉嫩av蜜桃av蜜臀av| 欧美一区久久| 国产精品黄色影片导航在线观看| 黄色成人一级片| 亚洲三级电影网站| 日本老熟妇毛茸茸| 婷婷精品视频| 欧美精品videofree1080p| 在线观看免费视频一区| 久久精品亚洲精品国产欧美 | 婷婷精品视频| 欧美激情欧美狂野欧美精品| 这里只有精品9| 国产欧美日韩不卡免费| 777久久久精品一区二区三区| 高清久久精品| 日韩在线视频播放| 奴色虐av一区二区三区| 久久先锋资源网| 亚洲人精品午夜射精日韩| 国产一区二区在线观| 这里只有精品在线观看| 国产区一区二区三| 99精品桃花视频在线观看| 欧洲精品在线播放| 日本99精品| 欧美大片va欧美在线播放| 一区二区不卡视频在线观看| 国产欧美精品日韩区二区麻豆天美| 欧美a v在线播放| 国产精品对白| 97人人爽人人喊人人模波多| 亚洲精品国产精| 亚洲一区二区三区四区五区黄| 天天色天天综合网| 亚洲国产不卡| 91精品网站| 任你弄在线视频免费观看| 欧美一级搡bbbb搡bbbb| 亚洲一级生活片| 国产精品一二三| 三级在线免费观看| 91在线一区| 7777精品视频| 理论在线观看| 欧美人与性动xxxx| 9999热视频| 国产成人午夜高潮毛片| 男人添女荫道口喷水视频| 粉嫩一区二区三区四区公司1| 国内精品伊人久久| 日韩有码电影| 欧美在线观看禁18| 老熟妇高潮一区二区三区| 国产精品18久久久久久vr| www精品久久| 男男gay无套免费视频欧美| 国产精品自产拍在线观看| 欧洲美女少妇精品| 欧美va日韩va| 成人免费a视频| 国产精品婷婷午夜在线观看| 国产三级生活片| 亚洲婷婷免费| 日本中文不卡| 麻豆久久一区| 日韩免费在线视频| 人人干在线视频| 日韩欧美精品在线视频| 你懂的国产在线| 亚洲日本护士毛茸茸| 在线观看免费视频黄| 久久亚洲美女| 欧美精品久久96人妻无码| 久久人人爽人人爽人人片av不| 国产成人精品亚洲精品| 国产一二区在线| 欧美成人a视频| 91黑人精品一区二区三区| 亚洲欧美偷拍卡通变态| 黄色国产在线观看| 国内成+人亚洲+欧美+综合在线 | 日韩精品一二区| 强开小嫩苞一区二区三区网站| 欧美在线导航| 亚洲a∨日韩av高清在线观看| 大菠萝精品导航| 久久精品国产96久久久香蕉| 午夜视频福利在线观看| 91麻豆精品国产自产在线| 国产九色在线播放九色| 一区二区三区av电影| 中文字幕在线观看免费高清| 成人免费看黄yyy456| 日韩不卡一二三| 野花国产精品入口| 波多野结衣 作品| 精品视频免费| 欧美精品123| 超碰在线亚洲| 成人午夜高潮视频| 欧美日韩五区| 欧美在线不卡区| 国产丝袜精品丝袜| 久久资源免费视频| av网站在线播放| 亚洲精品国产免费| 亚洲黄色小说网址| 欧美一区二区私人影院日本| 中文字幕久久久久| 日本大香伊一区二区三区| 国产成人亚洲欧洲在线| 一区二区三区四区乱视频| 日韩一卡二卡在线观看| 欧美高清在线一区| 国产熟妇久久777777| 99精品视频在线观看| 99精品一区二区三区无码吞精| 国产在线精品国自产拍免费| 91插插插插插插插插| 日韩av中文字幕一区二区 | 久久av老司机精品网站导航| 男人舔女人下面高潮视频| 午夜亚洲性色视频| 九色在线视频观看| 在线综合欧美| 欧美在线观看www| 在线视频日韩| 尤物av无码色av无码| 亚洲久色影视| 999在线观看视频| 99av国产精品欲麻豆| 欧美精品自拍视频| 在线视频日韩| 黑鬼大战白妞高潮喷白浆| 午夜亚洲一区| 亚欧美在线观看| 国内精品久久久久影院一蜜桃| 91日韩精品视频| 国产精品中文有码| 少妇欧美激情一区二区三区| 国产sm精品调教视频网站| 五月天丁香社区| av在线不卡免费看| 中文字幕一二三四区| 国产欧美精品一区二区三区四区| 制服丨自拍丨欧美丨动漫丨| 亚洲人123区| 精品无码久久久久久久久| 黄色成人在线播放| 91久久国产综合久久91| 欧美日韩美少妇| av av片在线看| 亚洲国产欧美自拍| 国产午夜在线观看| 久久久99免费视频| 女囚岛在线观看| 欧美综合一区第一页| jizz亚洲女人高潮大叫| 91精品久久久久久久久中文字幕| 精品中文字幕一区二区三区四区| 国产精品我不卡| 欧美美女一区| 欧美人与动牲交xxxxbbbb| 国产欧美一级| 777视频在线| 成人高清视频在线观看| 欧美成人另类视频| 一区二区三区**美女毛片| 国产成人免费观看视频 | 亚洲男人电影天堂| 在线看成人av| 欧美日韩精品一区视频| 亚洲欧美另类日韩| 欲色天天网综合久久| 污片在线免费观看| 日本精品在线视频| 精品一区二区三区中文字幕| 久久精品99久久| 亚洲一级毛片| 男女无套免费视频网站动漫| 国产精品66部| 人妻互换一区二区激情偷拍| 亚洲午夜久久久久久久久久久| 欧美国产一级片| 亚洲第一男人天堂| 麻豆tv在线| 日本国产一区二区三区| 亚洲图色一区二区三区| 色视频一区二区三区| 亚洲人体偷拍| 一级片免费在线观看视频| 亚洲国产精华液网站w| 日本三级理论片| 欧美一区二区三区影视| 激情在线视频| 7777精品久久久久久| 一级毛片精品毛片| 亚洲一区三区视频在线观看| 国产精品乱看| 亚洲av成人片无码| 亚洲欧美另类小说| 在线免费av片| 一区二区三区视频免费| 川上优av中文字幕一区二区| 91在线精品观看| 亚洲国产老妈| 亚洲久久中文字幕| 国产欧美日本一区二区三区| 欧美a∨亚洲欧美亚洲| 精品免费日韩av| 性网站在线观看| 成人中文字幕在线观看| 日韩精品诱惑一区?区三区| 国产精品视频一区二区三区四区五区| 国产成人精品一区二区三区四区| 男人av资源站| 欧美老年两性高潮| 在线免费观看黄| 国产精品情侣自拍| 国产欧美日韩精品一区二区免费| 国产成人黄色片| 99久久综合精品| 国产无遮无挡120秒| 精品精品欲导航| 草美女在线观看| 国产伦精品一区二区三| 亚洲成人原创| yy1111111| 欧美日韩精品二区| 日本1级在线| 日韩av理论片| 欧美色蜜桃97| 福利片一区二区三区| 专区另类欧美日韩| 性一交一乱一透一a级| 久久99久国产精品黄毛片入口| 麻豆一区在线| 日本精品久久久久久久久久| 99久久免费精品高清特色大片| 国产精品黄色网| 亚洲欧美国产另类| av一区在线播放| 亚洲一区二区三区加勒比| 久久精品国产精品亚洲精品| 黄色精品视频在线观看| 日韩欧美高清在线| 成人免费观看在线观看| 日韩欧美一区二区三区久久婷婷| 免费观看成人av| 一区二区成人免费视频| 亚洲福利在线播放| 成人在线视频播放| 亚洲一区二区精品在线| 国产91在线观看| 神马久久久久久久| 精品激情国产视频| 高清日韩中文字幕| 噼里啪啦国语在线观看免费版高清版| 国产精品网站在线观看| 99在线小视频| 欧美重口另类videos人妖| 日韩成人激情| 日本在线不卡一区二区| 色婷婷激情久久| av在线麻豆| 欧美精品一区在线发布| 精品在线你懂的| 国产成人无码精品久在线观看| 国产一区二区三区在线视频| 国产精品一区三区在线观看| 日本中文字幕网址| 国产精品女同互慰在线看| 欧美熟女一区二区| 国产精品久久久久久一区二区| 欧美日韩亚洲一区二区三区在线| 无码 人妻 在线 视频| 欧美一级一区二区| 精品日本视频| av免费看网址| 成人免费一区二区三区在线观看| 人妻偷人精品一区二区三区| 国产精品自拍小视频| 国产亚洲网站| 青青草手机在线观看|