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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

litepal

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 litepal 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android數據庫框架 - LitePal學習筆記

簡述

LitePal是郭神(郭霖)在2014年的杰作,三年后在github上有了一個更新,故來學習一番,沒想到還挺好用,這里做下筆記。LitePal是一款開源的Android數據庫框架,它采用了對象關系映射(ORM)的模式,并將我們平時開發時最常用到的一些數據庫功能進行了封裝,使得不用編寫一行SQL語句就可以完成各種建表、増刪改查的操作。并且LitePal很“輕”,jar包只有100k不到,而且近乎零配置,這一點和hibernate這類的框架有很大區別。

github:https://github.com/LitePalFramework/LitePal

一、LitePal的基本用法

1. 引入Jar包或依賴

1)使用gradle依賴

dependencies {compile 'org.litepal.android:core:1.5.0' }

2)導入jar包

①jar包:https://github.com/LitePalFramework/LitePal/raw/master/downloads/litepal-1.5.0.jar

②源碼包:https://github.com/LitePalFramework/LitePal/raw/master/downloads/litepal-1.5.0-src.jar

通過上述地址將jar包下載下來后復制到libs目錄下即可。

2. 配置litepal.xml

在assets目錄下創建一個litepal.xml文件,復制以下代碼進去:

<?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="數據庫名" ></dbname> <span class="hljs-tag">&lt;<span class="hljs-name">version</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"數據庫版本號,用于更新數據庫"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">list</span>&gt;</span><span class="hljs-comment">&lt;!--這里是類映射--&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">list</span>&gt;</span>

</litepal>

3. 配置LitePalApplication

1)如果你的項目中沒有自定義APP,則直接在清單文件中進行如下配置:

<manifest> <application android:name="org.litepal.LitePalApplication" ... > ... </application> </manifest>

2)如果你項目中有繼承Application的自定義APP:

①把 extends Application 換成 extends LitePalApplication.

②在清單文件中使用你自定義的APP,如自定義的APP為MyApplication:

<manifest> <application android:name="com.example.MyApplication" ... > ... </application> </manifest>

3)如果你項目中的自定義APP是繼承了一個jar包中的第三方Application(即:源碼修改不了):

方案一:

  • 你可以把LitePal的源碼下載下來,然后把src目錄下的所有代碼直接拷貝到你項目的src目錄下面
  • 接著打開LitePalApplication類,將它的繼承結構改成繼承自第三方Application
  • 再讓MyApplication繼承自LitePalApplication,這樣所有的Application就都可以在一起正常工作了。
  • 方案二:

    public class MyOwnApplication extends AnotherApplication { <span class="hljs-meta">@Override</span> <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onCreate</span><span class="hljs-params">()</span> </span>{<span class="hljs-keyword">super</span>.onCreate();LitePal.initialize(<span class="hljs-keyword">this</span>); } ...

    }

    二、使用LitePal建表

    例子:假設開發的是一款新聞類APP,本地需要一張新聞表記錄新聞,因為該框架是ORM框架,即需要一個新聞類News來表示新聞表,通過新聞類創建新聞表,只需要2步:

    1、創建一個實體類

    public class News { <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> id; <span class="hljs-keyword">private</span> String title; <span class="hljs-keyword">private</span> String content; <span class="hljs-keyword">private</span> Date publishDate; <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> commentCount; <span class="hljs-comment">// 自動生成get、set方法 </span> ...

    }

    2、修改assets目錄下的litepal.xml文件

    <?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="demo" ></dbname> <span class="hljs-tag">&lt;<span class="hljs-name">version</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"1"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">list</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.News"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">list</span>&gt;</span>

    </litepal>

    三、使用LitePal升級表

    升級表的場景有兩種:

    • ① 增加表

    • ② 修改表結構

    1、增加一張表

    例子:對上述的新聞類APP增加記錄評論的功能,那么就需要多一張評論表,即多一個評論類Comment(這里不考慮表之間的關系,本次升級只是多增加一張表)。

    1)、根據升級需求創建實體類

    public class Comment { <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> id; <span class="hljs-keyword">private</span> String content; <span class="hljs-comment">// 自動生成get、set方法 </span> ...

    }

    2)、修改assets目錄下的litepal.xml文件

    升級需要將version節點的value值+1。

    <?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="demo" ></dbname> <span class="hljs-tag">&lt;<span class="hljs-name">version</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"2"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">list</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.News"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.Comment"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">list</span>&gt;</span>

    </litepal>

    2、修改之前的表結構

    例子:假設上述的評論類Comment是上個版本中少了一個表示發布時間的屬性publishDate,則在這次要發布的版本中需要加入。

    1)、根據升級需求修改實體類

    public class Comment { <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> id; <span class="hljs-keyword">private</span> String content; <span class="hljs-keyword">private</span> Date publishDate; <span class="hljs-comment">//多了一個表示發布時間的屬性</span><span class="hljs-comment">// 自動生成get、set方法 </span> ...

    }

    2)、修改assets目錄下的litepal.xml文件

    <litepal> <dbname value="demo" ></dbname> <span class="hljs-tag">&lt;<span class="hljs-name">version</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"3"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span> ...

    </litepal>

    四、使用LitePal建立表關聯

    1、一對一:

    例子:每篇新聞(類News)都對應著一個簡介(類Introduction),一個簡介對應著一篇新聞。

    1)、在一個類中持有另一方的引用

    ①簡介類

    public class Introduction { <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> id; <span class="hljs-keyword">private</span> String guide; <span class="hljs-keyword">private</span> String digest; <span class="hljs-comment">// 自動生成get、set方法 </span>

    }

    ②新聞類(持有簡介類)

    public class News { ... private Introduction introduction; //一篇新聞對應著一個簡介 <span class="hljs-comment">// 自動生成get、set方法 </span>

    }

    2)、修改litepal.xml中的版本號,加入新表對就實體類的引用,更新數據庫。

    <?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="demo" ></dbname> <span class="hljs-tag">&lt;<span class="hljs-name">version</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"4"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">list</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.News"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.Introduction"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">list</span>&gt;</span>

    </litepal>

    2、多對一:

    例子:一篇新聞(類News)有多條評論(類Comment)

    1)、在少的一方持有多的一方的集合,在多的一方持有少的一方的引用

    ①新聞類(少的一方)

    public class News { ... private Introduction introduction; <span class="hljs-keyword">private</span> <span class="hljs-keyword">List</span>&lt;Comment&gt; commentList = <span class="hljs-keyword">new</span> ArrayList&lt;Comment&gt;(); <span class="hljs-comment">//一篇新聞對應多條評論 </span><span class="hljs-comment">// 自動生成get、set方法 </span>

    }

    ②簡介類(多的一方)

    public class Comment { ... private News news; //一條評論對應一篇新聞 <span class="hljs-comment">// 自動生成get、set方法 </span>

    }

    2)、修改litepal.xml中的版本號,更新數據庫。

    <?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="demo" ></dbname> <span class="hljs-tag">&lt;<span class="hljs-name">version</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"5"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">list</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.News"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.Introduction"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.Comment"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">list</span>&gt;</span>

    </litepal>

    3、多對多:

    例子:一篇新聞(類News)對應的多個類別(類Category),如iphone2000發布,可以是手機類、科技類,還可以是頭條。

    1)、彼此持有對方的集合

    ①新聞類

    public class News { ... private Introduction introduction; <span class="hljs-keyword">private</span> <span class="hljs-keyword">List</span>&lt;Comment&gt; commentList = <span class="hljs-keyword">new</span> ArrayList&lt;Comment&gt;(); <span class="hljs-keyword">private</span> <span class="hljs-keyword">List</span>&lt;Category&gt; categoryList = <span class="hljs-keyword">new</span> ArrayList&lt;Category&gt;(); <span class="hljs-comment">//一篇新聞對應多種類別</span><span class="hljs-comment">// 自動生成get、set方法 </span>

    }

    ②類別類

    public class Category { ... private List<News> newsList = new ArrayList<News>(); //一種類別對應多篇新聞 <span class="hljs-comment">// 自動生成get、set方法 </span>

    }

    2)、修改litepal.xml中的版本號,更新數據庫。

    <?xml version="1.0" encoding="utf-8"?> <litepal> <dbname value="demo" ></dbname> <span class="hljs-tag">&lt;<span class="hljs-name">version</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"6"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">list</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.News"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.Comment"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.Introduction"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">mapping</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"com.example.databasetest.model.Category"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">mapping</span>&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">list</span>&gt;</span>

    </litepal>

    五、使用LitePal的存儲操作(增)

    因為LitePal可以通過一個普通的實體類把對應的表創建出來或者對表升級,所以沒有要求繼承指定的類或實現指定的接口。但是,如果要對表進行存儲操作,則就有一個要求了,那就是這些實體類必須繼承DataSupport。

    1、讓實體類繼承DataSupport

    public class News extends DataSupport{ ...... <span class="hljs-comment">// 自動生成get、set方法 </span>

    }

    2、使用save()對單個實體數據進行保存

    例子:對一篇新聞進行保存

    News news = new News(); news.setTitle("這是一條新聞標題"); news.setContent("這是一條新聞內容"); news.setPublishDate(new Date()); news.save();
    • tip:save()是不會拋出異常的,且返回的是boolean。

    常規判斷數據是否保存成功的方式如下:

    if (news.save()) { Toast.makeText(context, "存儲成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "存儲失敗", Toast.LENGTH_SHORT).show(); }

    3、使用saveThrows()對單個實體數據進行保存

    例子:對一篇新聞進行保存

    News news = new News(); news.setTitle("這是一條新聞標題"); news.setContent("這是一條新聞內容"); news.setPublishDate(new Date()); news.saveThrows();
    • tip:saveThrows()是當保存失敗時會拋出異常的,所以,可以通過對這個異常進行捕獲來處理存儲失敗的情況。

    3、使用DataSupport.saveAll()對多個實體數據進行保存

    List<News> newsList; ... DataSupport.saveAll(newsList);

    4、多對一的關系的數據保存

    Comment comment1 = new Comment(); comment1.setContent("好評!"); comment1.setPublishDate(new Date()); comment1.save(); //保存了第一條評論 Comment comment2 = new Comment(); comment2.setContent("贊一個"); comment2.setPublishDate(new Date()); comment2.save(); //保存了第二條評論 News news = new News(); news.getCommentList().add(comment1); news.getCommentList().add(comment2); //把前兩條保存過的評論添加到News對象的評論集合中 news.setTitle("第二條新聞標題"); news.setContent("第二條新聞內容"); news.setPublishDate(new Date()); news.setCommentCount(news.getCommentList().size()); news.save(); //保存News對象

    5、使用saveAsync()對單個數據進行異步保存

    News news = new News(); news.setTitle("這是一條新聞標題"); news.setContent("這是一條新聞內容"); news.setPublishDate(new Date()); news.saveAsync().listen(new SaveCallback() {@Overridepublic void onFinish(boolean success) { }

    });

    6、當數據保存成功時,對象中的id會被賦值

    當調用save()方法或saveThrows()方法存儲成功之后,LitePal會自動將該條數據對應的id賦值到實體類的id字段上。
    以下做個實驗:

    News news = new News(); news.setTitle("這是一條新聞標題"); news.setContent("這是一條新聞內容"); news.setPublishDate(new Date()); Log.d("TAG", "news id is " + news.getId()); news.save(); Log.d("TAG", "news id is " + news.getId());

    打印結果如下:

    news id is 0 news id is 1

    六、使用LitePal的修改和刪除操作(刪改)

    使用LitePal的修改和刪除操作分別有兩種方式:

    • ①使用DataSupport類中的靜態方法(即實體類不需要繼承DataSupport)。
    • ②使用繼承了DataSupport的實體類中的方法。

    *tip:方式①中必須使用ContentValues類,而方式②不用。

    1、修改操作

    1)修改指定id的數據

    ①使用DataSupport類中的update()靜態方法:

    DataSupport.update(實體類.class,ContentValues,id值)

    ContentValues values = new ContentValues(); values.put("title", "今日iPhone6發布"); DataSupport.update(News.class, values, 2);
    ②使用繼承了DataSupport的實體類中的方法:

    obj.update(id值)

    News updateNews = new News(); //News必須繼承DataSupport updateNews.setTitle("今日iPhone6發布"); updateNews.update(2);

    2)修改指定條件的數據

    ①使用DataSupport類中的updateAll()靜態方法:

    DataSupport.updateAll(實體類.class,ContentValues,條件組)

    ContentValues values = new ContentValues(); values.put("title", "今日iPhone6 Plus發布"); DataSupport.updateAll(News.class, values, "title = ? and commentcount > ?", "今日iPhone6發布", "0");
    ②使用繼承了DataSupport的實體類中的方法:

    obj.updateAll(條件組)

    News updateNews = new News(); //News必須繼承DataSupport updateNews.setTitle("今日iPhone6發布"); updateNews.updateAll("title = ? and commentcount > ?", "今日iPhone6發布", "0");

    3)修改全表數據

    DataSupport.updateAll(實體類.class,ContentValues)

    例子:把news表中所有新聞的標題都改成“今日iPhone6發布”。

    ContentValues values = new ContentValues(); values.put("title", "今日iPhone6 Plus發布"); DataSupport.updateAll(News.class, values);

    4)將對應字段修改為默認值

    obj.setToDefault("字段名")

    該方法是針對繼承了DataSupport的實體類來說的!!!

    News updateNews = new News(); //News必須繼承DataSupport updateNews.setToDefault("commentCount"); updateNews.updateAll();

    2、刪除操作

    *刪除操作的有幾個地方需要注意:

    • 只能刪除持久化過的數據,所謂持久化過的數據,通俗的說就是保存過的數據,也就是保存或查詢出來的數據才能被刪除。
    • 如果刪除的數據id是另一張表中的外鍵,則在刪除該數據時,別一張表中的關聯數據也會被刪除。
    • 繼承了DataSupport的實體類沒有deleteAll方法,所以只有一種刪除指定條件的數據方式(即:DataSupport.deleteAll())。
    • 最后切記,多條件時只能用單詞and連接條件,不能用符號&!!!

    1)刪除指定id的數據

    ①使用DataSupport類中的delete()靜態方法:

    DataSupport.delete(實體類.class,id值)

    DataSupport.delete(News.class, 2);
    ②使用繼承了DataSupport的實體類中的方法:

    obj.delete(id值)

    這里new出了一個News對象,這個對象明顯是沒有持久化的,此時調用delete()方法則不會刪除任何數據。

    News news = new News(); news.delete();

    如果我們之前將這個對象持久化過了,那么調用delete()方法就會把這個對象對應的數據刪除掉了。

    News news = new News(); news.setTitle("這是一條新聞標題"); news.setContent("這是一條新聞內容"); news.save(); ... news.delete();

    可以使用DataSupport中的isSaved()方法,判斷對象是否持久化。

    News news; ... if (news.isSaved()) { news.delete(); }

    2)刪除指定條件的數據

    DataSupport.deleteAll(實體類.class,條件組)

    DataSupport.deleteAll(News.class, "title = ? and commentcount = ?", "今日iPhone6發布", "0");

    3)刪除全表數據

    DataSupport.deleteAll(實體類.class)

    DataSupport.deleteAll(News.class);

    七、使用LitePal的查詢(查)

    1、簡單查詢

    1)查詢單條數據

    ①查詢指定id數據

    News news = DataSupport.find(News.class, 1);

    ②查詢第一條數據

    News firstNews = DataSupport.findFirst(News.class);

    ③查詢最后一條數據

    News lastNews = DataSupport.findLast(News.class);

    2)查詢多條數據

    ①查詢指定多個id數據

    //方式一: List<News> newsList = DataSupport.findAll(News.class, 1, 3, 5, 7);

    //方式二:
    long[] ids = new long[] { 1, 3, 5, 7 };
    List<News> newsList = DataSupport.findAll(News.class, ids);

    ②查詢表中所有數據

    List<News> allNews = DataSupport.findAll(News.class);

    2、連綴查詢

    例子:查詢 新聞表評論數大于0第11到20條 數據,以 發布時間倒序 排序方式呈現,只取 “標題”和“內容” 兩列內容。

    一般的sql語句如下:

    select title,content from news where commentcount > 0 order by publishdate desc limit 10,10;

    使用LitePal的連綴查詢,代碼如下:

    List<News> newsList = DataSupport.select("title", "content").where("commentcount > ?", "0").order("publishdate desc").offset(10).limit(10).find(News.class);

    *tip:其中select、where、order、offset、limit可以任意放置位置,可以根據自己的需求任意刪減,但find不能去掉。

    3、激進查詢

    LitePal的默認查詢是懶查詢,即:只能查詢單表中的數據,關聯表中的數據無法查到。

    1)如何使用激進查詢

    如果需要將關聯表中的數據一起查出(激進查詢),可以將find()方法的最后一個參數(boolean isEager)設置為true即可,如:

    News news = DataSupport.find(News.class, 1, true); List<Comment> commentList = news.getCommentList();

    2)激進查詢的缺點:

    • 一旦關聯表中的數據很多,查詢速度可能就會非常慢。
    • 激進查詢只能查詢出指定表的關聯表數據,但是沒法繼續迭代查詢關聯表的關聯表數據。

    3)使用懶查詢代替激進查詢

    激進查詢不被LitePal推薦,推薦使用懶查詢,如果要使用懶查詢,可以對實體類做如下修改,以做到關聯表查詢:

    public class News extends DataSupport{ ... public List<Comment> getComments() { return DataSupport.where("news_id = ?", String.valueOf(id)).find(Comment.class); } }

    *tip:只有該getComments()方法被調用的時候,才會去查詢關聯數據。這種寫法會比激進查詢更加高效也更加合理。

    4、原生查詢

    DataSupport.findBySQL(條件組);

    Cursor cursor = DataSupport.findBySQL("select * from news where commentcount>?", "0");

    八、使用LitePal的聚合函數

    LitePal中一共提供了count()、sum()、average()、max()和min()這五種聚合函數

    1、count()

    count()方法主要是用于統計行數的

    DataSupport.count(實體類.class)

    例子:統計news表中一共有多少行

    int result = DataSupport.count(News.class); //使用連綴查詢,增加查詢條件 int result = DataSupport.where("commentcount = ?", "0").count(News.class);

    2、sum()

    sum()方法主要是用于對結果進行求合的

    DataSupport.sum(實體類.class, "要求合的字段", 結果類型)

    例子:統計news表中評論的總數量

    int result = DataSupport.sum(News.class, "commentcount", int.class); // 也可以是float、double

    *tip:如果要求合的字段是非法的,如String,則返回結果是0。

    3、average()

    average()方法主要是用于統計平均數的

    DataSupport.average(實體類.class, "要求平均數的字段")

    例子:統計news表中平均每條新聞有多少評論

    double result = DataSupport.average(News.class, "commentcount"); //默認返回值就是double,因為求平均數大多時候都會有小數,//使用double可以最大程序保留小數位的精度。

    *tip:如果要求平均數的字段是非法的,如String,則返回結果是0。

    4、max()

    max()方法主要用于求出某個列中最大的數值

    DataSupport.max(實體類.class, "要求最大值的字段", 結果類型)

    例子:news表中所有新聞里面最高的評論數是多少

    int result = DataSupport.max(News.class, "commentcount", int.class);

    5、min()

    min()方法主要用于求出某個列中最小的數值

    DataSupport.min(實體類.class, "要求最小值的字段", 結果類型)

    例子:news表中所有新聞里面最少的評論數是多少

    int result = DataSupport.min(News.class, "commentcount", int.class);

    九、使用注解對字段進行約束

    使用注解@Column可以對字段進行約束,共有4種如下約束:

    @Column(unique = true) //是否唯一 @Column(defaultValue = "unknown") //指定字段默認值 @Column(nullable = false) //是否可以為空 @Column(ignore = true) //是否可以忽略

    例子:一張新聞表,主鍵唯一,標題不能為空,內容有默認值。

    public class News extends DataSupport { <span class="hljs-meta">@Column</span>(unique = <span class="hljs-keyword">true</span>) <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> id; <span class="hljs-meta">@Column</span>(nullable = <span class="hljs-keyword">false</span>) <span class="hljs-keyword">private</span> String title; <span class="hljs-meta">@Column</span>(defaultValue = <span class="hljs-string">"我是內容"</span>) <span class="hljs-keyword">private</span> String content; <span class="hljs-keyword">private</span> Date publishDate; <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> commentCount; <span class="hljs-comment">// 自動生成get、set方法 </span> ...

    }

    十、對多個數據庫的支持

    如果項目中用到了多個數據庫,LitePal也可以支持,在程序運行的時候可以創建多個數據庫。:

    1、創建一個全新的數據庫

    LitePalDB litePalDB = new LitePalDB("db2", 1); //創建一個名為"db2"的第二個數據庫 litePalDB.addClassName(Singer.class.getName()); //將實體類Singer等與db2進行關聯 litePalDB.addClassName(Album.class.getName()); litePalDB.addClassName(Song.class.getName()); LitePal.use(litePalDB); //使用db2數據庫

    2、創建一個結構跟舊數據庫一樣的數據庫

    結構跟舊數據庫一樣的意思是:litepal.xml配置一樣。

    LitePalDB litePalDB = LitePalDB.fromDefault("新數據庫名"); LitePal.use(litePalDB);

    3、換回默認數據庫(原來舊的數據庫)

    LitePal.useDefault();

    4、刪除任意數據庫

    LitePal.deleteDatabase("數據庫名"); </div></div>

    總結

    以上是生活随笔為你收集整理的litepal的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    午夜精品久久久久久久久久久久 | 黄色一级片视频 | 激情图片qvod | 成人国产精品久久久春色 | 日韩理论片在线 | 日本黄色大片免费 | 免费观看一区二区三区视频 | 人人干人人上 | 国产成人精品av在线 | 亚洲永久精品在线观看 | 亚洲成人一区 | 99精品久久久久久久 | 亚洲欧美日韩精品一区二区 | 亚洲六月丁香色婷婷综合久久 | 国产精品视频地址 | 国产精品乱看 | 久久久久高清 | 九九视频网站 | 久久99国产精品 | 激情综合啪 | 亚洲夜夜综合 | 亚洲天堂色婷婷 | 国产经典av | 香蕉视频91| 国内视频 | 欧美aaaxxxx做受视频 | 精品久久一二三区 | 国产日韩欧美在线观看视频 | 亚洲综合小说电影qvod | 精品亚洲视频在线观看 | 亚洲一区日韩精品 | 91久久精品日日躁夜夜躁国产 | 91超在线 | 最新真实国产在线视频 | 91私密视频 | 国产精品ssss在线亚洲 | 9在线观看免费高清完整版 玖玖爱免费视频 | 粉嫩av一区二区三区免费 | 亚洲成人av在线播放 | 成人在线小视频 | av在线在线 | 国产在线中文字幕 | 天天干天天操av | 波多野结衣视频一区 | 久久精品视频在线免费观看 | 麻豆视频在线免费观看 | 久久久久免费视频 | 亚洲五月婷婷 | 中文字幕av日韩 | 九九热1| 国产精品视频免费在线观看 | 久草91视频 | 国产1区在线 | 亚洲九九九在线观看 | 婷婷久久久 | 亚洲成a人片在线观看网站口工 | 欧美日韩一区二区在线观看 | 人人要人人澡人人爽人人dvd | 中文字幕亚洲综合久久五月天色无吗'' | 日韩av手机在线观看 | 亚洲视频专区在线 | а天堂中文最新一区二区三区 | 精品国产免费av | 久久99久久99精品免视看婷婷 | 永久免费av在线播放 | 日韩色在线 | 国产精品久久久av | 久久国产精品免费一区 | 操操日日| 欧美99精品| 在线黄色免费av | 日批网站免费观看 | 一本到在线 | 99热这里精品 | 91精品国产网站 | 草久久影院 | 久久久av电影 | 国产性天天综合网 | 六月婷婷久香在线视频 | 成人理论在线观看 | 国产精品视频在线看 | 亚洲成人一二三 | 欧美性生活久久 | 成人免费一级 | 97韩国电影 | 久久视频免费在线 | 精品国产一区二区三区av性色 | 亚洲91中文字幕无线码三区 | avcom在线| 中文字幕成人av | 久久久久久免费网 | 97超碰人人澡 | 亚洲一二视频 | 久久成人国产精品免费软件 | 国内外激情视频 | 日韩欧美xxx | 国产精品久久久一区二区 | h动漫中文字幕 | www.国产视频 | 人人插人人射 | 国产 日韩 中文字幕 | 久草在线观看视频免费 | 欧美色噜噜噜 | 91福利免费| 亚洲一区二区三区在线看 | 狠狠狠色狠狠色综合 | 精精国产xxxx视频在线播放 | 亚洲精欧美一区二区精品 | 永久免费精品视频网站 | 91视频免费看片 | 欧美人牲 | 欧美激情综合色 | 久久免费99精品久久久久久 | 色com网 | 狠狠插狠狠操 | 人人搞人人搞 | 国产欧美在线一区 | 久久久久久激情 | 久久久精品 一区二区三区 国产99视频在线观看 | 成人国产精品一区 | 国产精品美女久久久久久久 | 成人在线观看你懂的 | 欧美日韩免费在线视频 | 欧美一区二视频在线免费观看 | 国产精品专区在线观看 | 日韩网页| 中文字幕一区三区 | 国产精品精品国产 | 99精品热视频只有精品10 | 又黄又爽的免费高潮视频 | 又湿又紧又大又爽a视频国产 | 精品国产91亚洲一区二区三区www | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 在线观看成人福利 | 在线播放精品一区二区三区 | 色插综合 | 高清色免费 | av在线网站免费观看 | 开心激情五月网 | 国产中文字幕网 | 久久久久久毛片精品免费不卡 | 色综合久 | 亚洲人成网站精品片在线观看 | 91av在线不卡| 欧美做受xxx | 日韩欧美国产精品 | 国产精品99久久久久久人免费 | 精品欧美日韩 | 亚洲一级片在线观看 | 成年人免费看片 | 亚洲 欧美 日韩 综合 | 在线免费观看的av | 久久久久久久久久久电影 | 成人午夜免费剧场 | 黄色大片国产 | 欧美不卡在线 | 国产精品久久久区三区天天噜 | 91免费高清 | 国产在线国偷精品产拍 | 日韩午夜网站 | 人人狠狠综合久久亚洲婷 | 久久久久美女 | 五月婷婷视频在线 | 久久精品一区二区三区中文字幕 | 97超碰色偷偷 | 丁香六月五月婷婷 | 国产一级h | 亚洲国产视频直播 | 中文在线中文a | 婷婷久久亚洲 | 色妞久久福利网 | 成人h动漫精品一区二 | 男女拍拍免费视频 | 91麻豆精品国产91久久久久 | 麻豆国产视频 | 国产在线观看一区 | 日韩在线观看影院 | 久久久久色 | 日韩区视频| 97人人视频 | 天天爽夜夜爽精品视频婷婷 | 国产视频中文字幕在线观看 | 99热99re6国产在线播放 | 久久久久久久久久久影视 | 欧美亚洲成人免费 | 色综合久久久久久中文网 | 深夜免费福利 | 黄色软件在线观看视频 | 国产精品一区二区三区四区在线观看 | 人人爱爱人人 | 国产午夜精品一区二区三区 | 五月天综合色激情 | 欧美午夜一区二区福利视频 | 6080yy精品一区二区三区 | 国产精品久久久久久久av大片 | 91精品国产成人www | 亚洲欧美日韩国产一区二区三区 | 国产精品理论片在线播放 | av丝袜在线| 午夜黄色一级片 | 免费在线一区二区三区 | 国产日韩高清在线 | 91精品久久香蕉国产线看观看 | 国产黑丝一区二区 | 天天干天天操天天拍 | 91九色丨porny丨丰满6 | 免费精品人在线二线三线 | 天天透天天插 | 欧美日韩精品电影 | 中文乱码视频在线观看 | a级黄色片视频 | 国产精品视频大全 | 91日韩精品一区 | 国产精品久久久久av免费 | 精品国产a | 免费观看91| 黄色不卡av | 久久艹综合| 精品国产亚洲一区二区麻豆 | 久久经典视频 | 在线观看的a站 | 99精品在线免费 | 99热在线观看免费 | 狠狠88综合久久久久综合网 | 网站免费黄 | 国产亚洲精品中文字幕 | 伊人狠狠色丁香婷婷综合 | 国产成人99av超碰超爽 | 96亚洲精品久久 | 国产精品美女在线观看 | 国产资源精品 | 久草爱 | 黄色软件大全网站 | 日韩大片免费在线观看 | 日韩 在线 | 日本成人免费在线观看 | 国产原厂视频在线观看 | 在线观看国产一区二区 | 亚洲日本中文字幕在线观看 | 视频一区二区免费 | 精品国产成人 | 日韩一区二区免费视频 | 国产福利一区二区三区视频 | 91av在线视频免费观看 | 亚洲高清视频在线观看免费 | 色偷偷88888欧美精品久久久 | 色婷婷综合久久久久中文字幕1 | 亚洲精品成人免费 | 成人午夜剧场在线观看 | 久久激情婷婷 | 国产一区欧美在线 | 91免费黄视频 | 久久成年人网站 | av色综合 | 五月天国产精品 | 狠狠操影视| 色av网站| 69中文字幕 | 久久精品一区二区三区视频 | 中文在线最新版天堂 | 丁香五婷 | 国产一区二区三区免费视频 | 人人搞人人爽 | 天天摸天天干天天操天天射 | 日韩欧美视频在线免费观看 | 亚洲最大激情中文字幕 | 丁香六月av | 免费成人在线视频网站 | 亚洲资源在线网 | 欧美国产高清 | 国产精品久久久久久久av大片 | 中文字幕2021 | 午夜精品久久久久久久99无限制 | 日韩黄色免费电影 | 99热国产精品 | 91九色精品女同系列 | 五月婷婷开心 | 国产精品美女毛片真酒店 | 521色香蕉网站在线观看 | a视频在线 | 国产九九热 | 国产麻豆精品在线观看 | 九九九在线 | 天天干天天弄 | 一区二区三区在线观看中文字幕 | 超碰电影在线观看 | 色诱亚洲精品久久久久久 | 中文在线亚洲 | 免费视频18| 久久a v电影 | 欧美日韩在线观看视频 | 色噜噜在线观看视频 | 免费黄色网址网站 | 手机av在线网站 | 中文字幕资源网在线观看 | 国产精品原创在线 | 精品在线观看一区二区 | 免费久久片 | 五月婷婷丁香色 | 国产手机精品视频 | 98超碰在线观看 | 骄小bbw搡bbbb揉bbbb| 国偷自产视频一区二区久 | 中文字幕制服丝袜av久久 | 国内丰满少妇猛烈精品播 | 一区二区三区四区五区在线 | 五月天婷婷在线观看视频 | 精品久久久久国产免费第一页 | 青春草视频在线播放 | 欧美精品中文字幕亚洲专区 | 亚洲少妇久久 | 国产高清绿奴videos | 91香蕉视频 mp4| 最近能播放的中文字幕 | 激情深爱五月 | 国产流白浆高潮在线观看 | 91九色视频网站 | 午夜精品一区二区三区可下载 | 在线一区电影 | 五月婷婷色丁香 | 操天天操 | 黄色免费大全 | 91.dizhi永久地址最新 | 国产成人精品一区二区三区免费 | 91爱爱网址 | 日韩一区二区三区在线看 | 激情图片qvod | 国产精品第十页 | 日韩资源在线观看 | 亚洲综合在线观看视频 | 97在线看片 | 久久久久网址 | 久久a免费视频 | 国产精品综合久久久 | 国产999视频在线观看 | 五月婷婷开心 | 91精品国产成人观看 | 精品爱爱 | 久草干 | 一级黄色片在线免费看 | 国产不卡精品 | 丁香六月婷婷综合 | 中文字幕av电影下载 | 亚洲午夜久久久久久久久 | 国产精品久久久久久久久免费 | 久久国产系列 | 手机在线看片日韩 | 91高清完整版在线观看 | 亚洲午夜电影网 | 亚洲人成影院在线 | 黄色中文字幕在线 | 欧美日韩免费一区 | 欧美久久久久久久久中文字幕 | 国产午夜精品视频 | 人人爱人人添 | 日韩精品在线看 | 久久久精品欧美一区二区免费 | 亚洲黄色在线观看 | 国产一级黄 | 香蕉影视在线观看 | 国产一区二区三区久久久 | 日本巨乳在线 | 久久爱资源网 | 伊甸园永久入口www 99热 精品在线 | 久久公开免费视频 | 久精品视频 | 日韩三级一区 | 国产精品免费久久 | 久久在草 | 久久久99精品免费观看乱色 | 国产在线观看99 | 黄色网在线播放 | 视频在线观看99 | 五月天丁香| 国产一区二区在线免费播放 | 亚洲精品视频在线免费 | 欧美一区二区三区在线看 | 成人av片免费观看app下载 | 亚洲激情六月 | 欧美一级免费 | 黄色a大片 | 99这里都是精品 | 五月天中文字幕 | 丁香五月亚洲综合在线 | 天天操天天操天天爽 | 日韩久久一区二区 | 国产麻豆成人传媒免费观看 | 97热久久免费频精品99 | 一本一道久久a久久精品 | 麻豆一二三精选视频 | 国色天香在线 | 国产麻豆传媒 | 日韩理论影院 | 久福利| 亚洲1区在线 | 亚洲精品综合一二三区在线观看 | 视频 天天草 | 91视频久久久久 | 亚洲精品国产精品国自产观看浪潮 | 久久免费精品国产 | www.天天干 | 亚洲一区二区三区在线看 | 97看片吧| 五月天激情视频 | 久亚洲 | 国产美女主播精品一区二区三区 | 久草在线观看资源 | 美女黄久久 | 精品久久久久久亚洲综合网站 | 色偷偷av男人天堂 | 国产精品美女久久久久久久 | 麻豆视频免费在线 | www.夜夜操| 国产 欧美 在线 | 久久免费成人精品视频 | 久久99精品视频 | 欧美日韩超碰 | av片在线观看免费 | 久久久亚洲麻豆日韩精品一区三区 | 91av在线国产 | 骄小bbw搡bbbb揉bbbb | 日韩中文字幕在线看 | 亚洲欧美视频在线观看 | 久久精品国产一区二区 | 九九综合久久 | 久草在线资源观看 | 9热精品 | 久久久精品视频网站 | 色吊丝av中文字幕 | 久久成人精品电影 | 日韩欧美在线免费 | 一区二区三区免费 | 免费在线黄 | 特级黄录像视频 | 精品国产乱码久久久久久三级人 | 91麻豆精品久久久久久 | 欧美另类xxx | 亚洲色图 校园春色 | 五月花婷婷 | 亚洲精品免费在线观看视频 | 亚洲精品在线电影 | av三级在线播放 | 久久婷婷一区二区三区 | 高清精品在线 | 久久99亚洲精品久久久久 | 97国产精品 | 亚洲六月丁香色婷婷综合久久 | 国产伦理一区二区三区 | 免费精品在线视频 | 欧美国产不卡 | 国产免费又爽又刺激在线观看 | 区一区二区三在线观看 | 91污污视频在线观看 | www夜夜操com | 久久人人添人人爽添人人88v | 91麻豆精品国产91久久久久久久久 | 国产美女在线精品免费观看 | 国产伦精品一区二区三区… | 天天天天综合 | 亚洲精品中文在线资源 | 日日夜夜人人精品 | av在线色| 国产精品 亚洲精品 | 久久电影色| 激情偷乱人伦小说视频在线观看 | 精品久久久久久久久久久久久久久久 | 777xxx欧美 | 日韩精选在线观看 | 91麻豆精品国产91久久久使用方法 | 91大神电影 | 久久久久久久久久久综合 | 久久精品久久久久久久 | 天天操天天拍 | 欧美日韩伦理一区 | 欧美日韩不卡在线视频 | 久久九九网站 | 婷婷六月丁香激情 | 国内精品国产三级国产aⅴ久 | 国产精品99精品久久免费 | 国产视频欧美视频 | 国产无遮挡猛进猛出免费软件 | 狠狠躁夜夜躁人人爽视频 | 色婷婷88av视频一二三区 | 国产中文伊人 | 大胆欧美gogo免费视频一二区 | 欧美 日韩 视频 | 狠狠天天 | 香蕉免费在线 | 六月色婷婷 | 热久久免费视频 | 99精品视频网站 | 毛片一区二区 | av看片网 | 日韩欧美精品一区二区 | 超碰在线网 | 精品久久久精品 | 久久久久久国产精品亚洲78 | 色五月成人 | 人人爽人人爽人人片 | 丁香综合激情 | 中文在线字幕免费观看 | 久久综合狠狠综合久久激情 | 免费看特级毛片 | 久久成人精品电影 | 亚洲免费av网站 | 成年人在线观看 | 国产黄色免费在线观看 | 久久视频99 | 美女福利视频在线 | 欧美做受高潮 | 麻豆传媒电影在线观看 | 91黄色免费看| a级片在线播放 | 久久美女高清视频 | 中文字幕乱码在线播放 | 精品在线视频播放 | 国产91av视频在线观看 | 四虎永久网站 | 91网址在线看 | 中文字幕精品视频 | 久久久国产精品一区二区中文 | 91久久久久久国产精品 | 久久激情电影 | 欧美日韩在线播放 | 麻豆免费精品视频 | 亚洲精品欧洲精品 | 精品九九九九 | 国产成人黄色在线 | 国产色视频一区二区三区qq号 | 久久美女免费视频 | 中文字幕第 | 久久国产精品久久w女人spa | 国产视频97 | 国产97av| 国产一级一级国产 | 亚洲在线色 | 欧美日韩免费网站 | 黄色毛片大全 | 中文字幕影片免费在线观看 | 在线电影日韩 | 久久久福利 | 色综合色综合久久综合频道88 | 成人午夜电影免费在线观看 | 一区二区三区四区精品视频 | 色噜噜狠狠色综合中国 | 日韩高清国产精品 | 91视频国产高清 | 97色婷婷人人爽人人 | 久久在线看 | 天干啦夜天干天干在线线 | 在线观看精品国产 | 国产不卡一二三区 | 久久视频网 | 在线观看岛国 | 中文在线www | 中文字幕在线字幕中文 | 欧美成人亚洲 | 国产亚洲久一区二区 | 日韩国产高清在线 | 中文字幕一区二区三区乱码在线 | 夜夜操天天摸 | 高清国产一区 | 一级a毛片高清视频 | 欧洲色综合 | 欧美日高清视频 | 日韩免费视频网站 | 涩涩伊人| 在线免费观看黄 | 久久99热精品这里久久精品 | 成年人免费在线观看网站 | 国产在线国偷精品产拍免费yy | 国产午夜三级一区二区三桃花影视 | 久久精品婷婷 | www.福利| 久艹视频在线观看 | 日韩特黄av | 精产嫩模国品一二三区 | 国产精品网站一区二区三区 | 久久精品国产亚洲精品 | 96看片 | 日日色综合 | 91免费观看视频网站 | 亚洲精品66 | 久久一区国产 | 日韩中文字幕在线不卡 | 久久6精品 | 人成在线免费视频 | 一区在线播放 | 色婷婷中文 | 国产精品一区免费观看 | 久久视频精品在线 | 久久午夜精品 | 激情五月婷婷综合 | 欧美一区二区三区在线看 | 综合久久久久 | 成人影片在线播放 | 国产免费区 | www.色婷婷| 91免费的视频在线播放 | 日本 在线 视频 中文 有码 | 色婷婷国产| 香蕉一区 | 不卡视频国产 | 欧美日韩精品在线免费观看 | 黄色大片中国 | 8x成人在线 | 日韩免费一级a毛片在线播放一级 | 久久激情电影 | 97视频在线观看视频免费视频 | 超碰公开在线 | 超碰精品在线 | 久久久久久久99精品免费观看 | 国产在线色 | 国产精品一区二区三区在线 | 国产资源网 | 波多野结衣在线中文字幕 | 久草在线久草在线2 | 亚洲永久精品一区 | 人人射人人爽 | 国产精品美乳一区二区免费 | 久久久久久影视 | 999电影免费在线观看 | 91九色蝌蚪在线 | 成人黄色片在线播放 | 91成人免费观看视频 | 欧美午夜一区二区福利视频 | 亚洲国产成人久久综合 | 欧美另类网站 | av在线一二三区 | 9ⅰ精品久久久久久久久中文字幕 | 免费观看午夜视频 | a'aaa级片在线观看 | 国产91全国探花系列在线播放 | 亚洲精品视频在线观看免费 | 超碰久热 | 91亚洲精品久久久久图片蜜桃 | 久久久男人的天堂 | 久久艹99 | 黄色三级免费观看 | 久久久久亚洲精品男人的天堂 | 手机在线小视频 | 亚洲国产日韩一区 | 国语精品久久 | 欧美一区日韩一区 | 91黄色免费看 | 天天干天天拍天天操天天拍 | 久久久久久久久亚洲精品 | 久久久一本精品99久久精品 | 欧美精品久久久久久久免费 | 亚洲少妇激情 | 亚洲一区av | 伊人中文网 | 狠狠狠的干| 精品久久久久免费极品大片 | 在线欧美国产 | 久久精品在线视频 | 亚洲电影一区二区 | 六月丁香综合网 | 国产九九九九九 | 九九热久久免费视频 | www.久久久久 | 99热国产在线中文 | 成人日韩av| 欧美日韩在线免费观看 | 天堂av一区二区 | 波多野结衣在线观看视频 | 日日夜夜天天操 | 久久99精品久久久久久秒播蜜臀 | 麻豆视频免费入口 | 99精品免费在线观看 | 综合网天天色 | 91麻豆产精品久久久久久 | 亚洲码国产日韩欧美高潮在线播放 | 欧美一级在线看 | 99久久精品免费看 | 波多野结衣一区二区 | 在线亚洲观看 | 91精品国产乱码久久桃 | 色视频网址 | 又湿又紧又大又爽a视频国产 | 色鬼综合网 | 五月天,com | 欧美 亚洲 另类 激情 另类 | 伊香蕉大综综综合久久啪 | 亚洲久在线| 国产中文欧美日韩在线 | av先锋影音少妇 | 中文字幕免费高清av | 国产精品9999久久久久仙踪林 | 色综合久久久久综合体 | 免费久久久 | 婷婷视频在线观看 | 久久久久国产精品午夜一区 | 午夜成人免费电影 | 国产精品视频在线观看 | 国产精品久久艹 | 国产视频在线观看一区 | 国精产品永久999 | av黄色国产 | 91视频三区| 亚洲激色| 五月婷婷电影网 | 亚洲 成人 一区 | 天天干 天天摸 天天操 | 午夜精品久久一牛影视 | 国产美女永久免费 | 欧美国产不卡 | 四虎永久网站 | 久久夜色精品国产欧美乱 | 在线电影中文字幕 | 国产成人一区二区三区影院在线 | 亚洲在线a | 亚洲综合视频在线观看 | av国产在线观看 | 久久久久国产一区二区三区 | 国产精品入口麻豆 | 国产在线精品一区二区不卡了 | 亚洲无吗av | 综合激情网 | 国产精品视频不卡 | 一区二区三区四区在线 | 成人久久国产 | 午夜日b视频| 国产中文字幕在线观看 | 免费观看一级视频 | 欧美精品资源 | 免费亚洲精品视频 | 欧美一区二区在线看 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 国产九色在线播放九色 | 亚洲伦理一区二区 | 精品久久久久久久久久久院品网 | 丝袜美腿在线 | 久久精品综合网 | 视频一区在线播放 | 在线视频国产区 | 性色xxxxhd| 少妇bbr搡bbb搡bbb | 天天操天天插 | 国产高清中文字幕 | 9幺看片| 亚洲精品1234区 | 亚洲精品大全 | 国产精品久久久久久久久久久久冷 | av福利在线播放 | 人人视频网站 | 天天爽夜夜爽人人爽曰av | 亚洲国产字幕 | 亚洲精品在线视频 | 国产成人精品一区在线 | 国产精品自产拍在线观看 | 免费三级大片 | 国产成人一二三 | 日韩午夜剧场 | 精品特级毛片 | 亚洲国产美女精品久久久久∴ | 久操伊人| 久久1区| 国产高清精品在线观看 | 超碰在线1| 亚洲精品视频中文字幕 | 成年人av在线播放 | 欧美aaa一级 | 91在线公开视频 | 国产97在线播放 | 久久99久久精品 | 国产中文视 | 99 国产精品 | 美女视频黄色免费 | 天天天天天天天天操 | 色视频网站免费观看 | 中文字幕 在线看 | 全久久久久久久久久久电影 | 欧美大片在线观看一区 | 在线观看精品一区 | 在线观看免费版高清版 | 免费成人在线观看 | 日韩精品字幕 | 久久久久伦理电影 | 一区二区精品在线 | 精品福利视频在线观看 | 日韩羞羞 | 中文字幕人成一区 | 97视频久久久 | 亚洲区视频在线观看 | 午夜.dj高清免费观看视频 | 午夜精选视频 | 久久视频免费在线 | 久久久久久久久久久网站 | 免费视频在线观看网站 | 日韩午夜在线观看 | 国产精品久久久久久模特 | 91香蕉国产| a级片韩国 | 网站在线观看你们懂的 | 亚洲 欧美 变态 国产 另类 | 99久久999久久久精玫瑰 | 国产不卡在线看 | 99久精品| 亚洲,播放 | 久久大香线蕉app | www黄在线 | 日韩精品久久久久久久电影竹菊 | 婷婷色亚洲 | 超碰97人人干 | 国产黄色大片免费看 | 婷婷在线不卡 | 丁香综合av | 国产高清免费在线观看 | 日韩精品中字 | 久久国产精品一二三区 | 婷婷在线精品视频 | 日韩在线免费视频观看 | 色在线免费 | 日本黄色大片免费 | 色在线免费视频 | 综合网在线视频 | 久久99影院 | 免费看一及片 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲乱亚洲乱亚洲 | 国产黄色大片 | 精品国产黄色片 | 免费看亚洲毛片 | 日韩精品最新在线观看 | 国产精品 国产精品 | 特级黄色片免费看 | 人人添人人澡 | 正在播放国产一区二区 | 91精品久久久久久粉嫩 | 国产精品999久久久 久产久精国产品 | www.超碰97.com| 日日干天天 | 狠狠干成人 | 国产亚洲精品成人av久久影院 | 99视频偷窥在线精品国自产拍 | 四虎成人免费影院 | 国产精品色在线 | 日韩在线精品 | 国产欧美最新羞羞视频在线观看 | 91亚洲在线| 97精品国产| 日韩乱理 | 亚洲免费一级电影 | 天天爱天天射 | 色之综合网 | 91大片网站 | 96亚洲精品久久久蜜桃 | 中文字幕亚洲综合久久五月天色无吗'' | 国产精品免费不 | 久久er99热精品一区二区三区 | 九九视频在线播放 | 手机在线观看国产精品 | 黄色国产高清 | 日韩欧美专区 | 欧美另类老妇 | 国产成人一区二区三区免费看 | 热99在线视频| 色综合天天狠天天透天天伊人 | 人人讲下载 | 久青草视频 | 99视频在线看 | 又色又爽又黄高潮的免费视频 | 欧美国产91| 久久99热这里只有精品国产 | 亚洲午夜小视频 | 久久精品视频在线观看免费 | 精品一区二区久久久久久久网站 | 国产无套视频 | 欧美一级小视频 | 国产97在线视频 | 国产精品九九久久99视频 | 日b视频国产 | 亚洲国内精品视频 | 在线观看亚洲国产精品 | 国产剧情一区二区 | 一区二区三区四区精品 | 视频国产在线观看18 | 久久免费在线观看 | 久久精品草 | 国产一区二区免费 | 亚洲伦理精品 | 超碰大片 | 91新人在线观看 | 黄色毛片在线看 | 日韩色一区二区三区 | 美女久久视频 | 亚洲黄色成人 | 国产精品一区二区美女视频免费看 | 国产区在线 | 国产伦精品一区二区三区无广告 | 毛片.com | 国产精品激情偷乱一区二区∴ | 日韩在线视频观看免费 | 91精品小视频 | 2020天天干夜夜爽 | 99热国产在线中文 | 一区二区三区在线视频观看58 | 亚洲无吗av| 天天射天天操天天干 | 亚洲精品欧美精品 | 久久久网 | 久久另类小说 | 成人在线免费看 | 97成人资源站 | 日本黄色片一区二区 | 91精品国产欧美一区二区成人 | 人人舔人人爱 | 国产精品资源在线 | 国内精品久久久久久久久久 | 偷拍福利视频一区二区三区 | 四虎成人免费影院 | 嫩模bbw搡bbbb搡bbbb | 久久精品首页 | 免费看一级黄色 | 婷婷激情小说网 | 亚洲国产字幕 | av网址aaa| 欧美色图视频一区 | av电影免费在线看 | 午夜精品成人一区二区三区 | 在线日韩精品视频 | 亚洲精品国产精品乱码在线观看 | 一区 在线观看 | 黄色一区二区在线观看 | 午夜视频一区二区 | 日韩免费在线观看视频 | 久久精品中文字幕一区二区三区 | 日本三级香港三级人妇99 | 国产高清无av久久 | 亚州性色 | 日日夜夜狠狠操 | 四川bbb搡bbb爽爽视频 | 久久久午夜精品理论片中文字幕 | 欧美日韩国产精品一区二区三区 | 欧美色婷| 婷婷香蕉 | 久青草视频在线观看 | 播五月综合 | 国内精品小视频 | 蜜臀久久99静品久久久久久 | 91精品国产乱码 | 天天干夜夜爱 | 亚洲艳情| 五月天综合网站 | 欧美成a人片在线观看久 | av丁香花 | 99精品国产福利在线观看免费 | 国产视频久久久久 | 日韩精品免费一区二区 | 成人动态视频 | 国产另类av | 国产精品永久免费视频 | 成人av影视在线 | 天天射狠狠干 | 狠狠色丁香婷婷综合久久片 | 91av在线视频免费观看 | 国产女做a爱免费视频 | 国产精品久久久久久超碰 | 国产色视频一区 | 狠狠色丁香婷婷综合久久片 | 狠狠色丁香婷婷综合久久片 | 欧美va日韩va| 中文字幕一区二区在线播放 | 最近字幕在线观看第一季 | 五月天久久 | 日日干日日| 欧美色图亚洲图片 | 国产黄色视| 久久综合毛片 | 亚洲精品乱码久久久一二三 | 日韩欧美一区二区在线 | 美女网站在线播放 | 人人爽人人爽人人片av免 | 97在线视频免费看 | 人人超碰人人 | 免费亚洲视频在线观看 | 国产91成人在在线播放 | 国产精品18videosex性欧美 | 婷婷中文字幕在线观看 | 婷婷激情5月天 | 91九色在线 | 夜夜躁天天躁很躁波 | 五月婷婷丁香色 | 久草在线免 | 国产免费久久 | 精品国产福利在线 | 九九热视频在线播放 | 美女视频黄色免费 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 日韩在线中文字幕视频 | 久久综合色天天久久综合图片 | 人人爽人人香蕉 | 亚洲视频在线观看 | 97精品久久 | av在线进入 | 激情九九 | 99久久精品免费看国产一区二区三区 |