日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android LitePal使用总结

發布時間:2023/12/10 Android 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android LitePal使用总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • LitePal
    • 概述
    • 使用
      • 初始化數據庫
      • 增加數據
      • 刪除數據
      • 修改數據
      • 查詢數據
      • 事務支持
    • 數據庫升級
      • 新增表
      • 新增表字段
    • 源碼下載

LitePal

概述

  • LitePal是一款開源的Android數據庫框架,它采用了對象關系映射(ORM)的模式,并將我們平時開發時最常用到的一些數據庫功能進行了封裝,使得不用編寫一行SQL語句就可以完成各種建表、増刪改查的操作。并且LitePal很“輕”,jar包只有100k不到

添加依賴

implementation 'org.litepal.guolindev:core:3.2.3'

使用

初始化數據庫

一、在Application里面進行初始化操作

class BaseApp : Application() {override fun onCreate() {super.onCreate()LitePal.initialize(this)} }

二、建立ORM對象

data class Course(val name: String,val teacher: String,val price: Double,val date: Date ) : LitePalSupport() {val id: Long = 0override fun toString(): String {return "Course(id=$id, name=$name, teacher=$teacher, price=$price, date=$date)"} }data class Teacher(val name: String,val age: Int,val desc: String ) : LitePalSupport() {val id: Long = 0 }

三、配置文件

在assets目錄下新建litepal.xml文件,并在其配置數據

<?xml version="1.0" encoding="utf-8"?> <litepal><dbname value="mylitepal" /><version value="1" /><list><mapping class="com.example.myapplication.litepal.Course" /><mapping class="com.example.myapplication.litepal.Teacher" /></list> </litepal>

增加數據

增加一條數據

val course = Course("Java", "小紅", 12.04, Date()) course.save()

增加多條數據

val courseList = arrayListOf<Course>() courseList.add(Course("JavaScript", "小花", 23.06, Date())) courseList.add(Course("HTML", "小白", 13.06, Date())) courseList.add(Course("CSS", "小黑", 33.06, Date())) LitePal.saveAll(courseList)

刪除數據

刪除指定id數據

LitePal.delete(Course::class.java, 1)

刪除添加數據

LitePal.deleteAll(Course::class.java, "teacher = ? and id > 1", "小花")

刪除表內所有數據

LitePal.deleteAll(Course::class.java)

修改數據

修改指定id數據

val values = ContentValues().apply {put("teacher", "小白") } LitePal.update(Course::class.java, values, 1)

修改指定條件數據

val values = ContentValues().apply {put("teacher", "小👋") } LitePal.updateAll(Course::class.java, values, "name = ? and id > 5", "CSS")

查詢數據

簡單查詢

//查詢id為1的數據 val course = LitePal.find(Course::class.java, 1) binding.tvContent.text = course.toString()//查詢表內第一條數據 val course2 = LitePal.findFirst(Course::class.java) binding.tvContent.text = course2.toString()//查詢表內所有數據 val courseList = LitePal.findAll(Course::class.java) binding.tvContent.text = courseList.toString()

條件查詢

val courseList = LitePal.where("id > ?", "5") .order("price desc") .find(Course::class.java) binding.tvContent.text = courseList.toString()

事務支持

try {LitePal.beginTransaction()val course = LitePal.find(Course::class.java, 2)val values = ContentValues().apply {put("price", 100.01)}LitePal.update(Course::class.java, values, course.id)LitePal.setTransactionSuccessful() } catch (e: Exception) {e.printStackTrace() } finally {LitePal.endTransaction() }

數據庫升級

新增表

一、新建ORM對象

data class Comment(val content: String) : LitePalSupport() {val id: Long = 0 }

二、添加配置

<?xml version="1.0" encoding="utf-8"?> <litepal><dbname value="mylitepal" /><version value="2" /><list><mapping class="com.example.myapplication.litepal.Course" /><mapping class="com.example.myapplication.litepal.Teacher" /><mapping class="com.example.myapplication.litepal.Comment" /></list> </litepal>

注:可以通過調用Connector.getDatabase()觸發數據庫更新

新增表字段

直接修改ORM類,并更新配置文件版本號

data class Course(val name: String,val teacher: String,val price: Double,val date: Date,@Column(defaultValue = "很好") val comment: String //新增字段 ) : LitePalSupport() {val id: Long = 0 }

源碼下載

總結

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

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