999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SQLite 關系映射插件中實體批量刷新和覆蓋的原理分析

2022-06-23 01:08:46施一飛王明珠
無線互聯科技 2022年7期
關鍵詞:數據庫用戶功能

王 巖,施一飛,王明珠

(吉利學院,四川 成都 641423)

0 引言

在安卓系統中,其采用的是一款輕量化數據庫SQLite,編程時如果單純使用SQLite 原生的操作語句編寫,那么在效率和容錯方面會表現一般,如可以開發一款映射插件來服務和SQLite 數據庫的溝通,就會在一定程度上提升編寫程序的效率。經過對國內多個安卓程序產品項目的調研,發現安卓映射插件在應用中均有著不同的程度,當該程序對于后端的溝通量不是很大時,可能就沒有必要安裝相關映射插件,當然絕大多數的程序比較復雜,還要考慮和PC 平臺及Web 平臺功能的一致性[1],所以大多數都安裝有公開的或者自行研發的映射插件,方便對于數據庫的溝通,達到自身程序運行目的。

安卓系統的開發主要基于Java 語言,以往在使用Java 語言進行各類數據庫的相關操作時,會經常用到諸如Hibernate 或MyBatis 等框架[2]。但對于SQLite 數據庫,并未有類似的框架,并且安卓系統不適合使用較復雜的大型框架,只能使用一些輕量級的框架。如OrmLite 框架等,但目前能支持 SQLite 數據庫的第三方框架,其種類欠豐富,功能欠完善,操作也欠優化[3]。

1 功能介紹

本次開發是在原有的ChopinLite 1.0 的版本上進行功能優化以及完善,之前的版本在添加刪除上不能夠進行批量添加刪除,只能一次一次的進行重復操作,且占用系統內存,浪費大量時間,操作不夠便捷,由此本次開發偏向批量操作等功能,著重開發以下5 個方面,本文就(4)(5)項的原理會加以重點說明。

(1)實體批量增加功能:用戶在添加大量實體時,會浪費很多時間,因此為了節約用戶的時間和提升用戶的工作效率,在以前的基礎上對其進行了優化,實現在數據庫中實體批量添加數據的功能。可以更加高效的操作數據庫中的內容,節約了大量的操作的時間。

(2)實體批量刪除功能:刪除數據的語句非常簡單,但是大量的刪除操作會消耗大部分時間,因此實體批量刪除操作應運而生。該功能在1.0 的基礎上進行優化,實現在數據庫中批量刪除數據的操作。

(3)實體批量修改功能:增刪改作為數據庫的基礎操作,修改用戶數據也是經常用到的功能之一。而修改數據的操作并不像添加和刪除實體那樣簡單,所需要的代碼極其煩瑣。因此在數據庫中實體批量修改就成了2.0 版本的重頭戲。

(4)實體批量覆蓋功能:覆蓋操作是把本地數據上傳到數據庫,與批量刷新操作不同,批量覆蓋是對數據庫已有的實體做更新操作,沒有的做添加操作,以本地數據為準。

(5)實體批量刷新功能:刷新實體同樣是數據庫經常進行的操作。單個實體進行刷新和批量實體刷新有所不同,需要先以數據庫為基準進行判斷,當實體存在于數據庫時,進行選擇操作,當實體并未在數據庫中查詢到時,進行添加操作。

2 重點研究

本次開發的框架摒棄了其他類似框架的不足之處,使用者無須編寫配置文件,僅需使用框架中已經實現的各種操作方法,無須二次開發。該軟件的特性在于以非循環的方式實現增刪改查,更新和覆蓋的批量操作。

2.1 批量添加

在實現單個實體添加的基礎上,運用全新的結構化查詢語言(Tructured Query Language,SQL)語句實現實體批量添加,節約用戶操作時間,提升用戶的工作效率,更高效的操作數據庫的內容,使用 數據訪問對象(Data Access Object,DAO)調用AddBatch 方法,可以批量添加實體。添加實體后,實體會自動獲得身份標識號(Identity Document,ID),成為持久態。

2.2 批量刪除

刪除與批量添加的原理相同,使用獨特的 SQL 語句,實現一次操作,批量刪除的結果。解放用戶繁雜的重復操作的同時減少計算機運行的壓力,節約資源,實現可持續發展。

2.3 批量修改

批量修改功能在一定程度上簡化修改的煩瑣過程,內部程序僅采用一條 SQL 語句,達到批量修改的目的。使用 DAO 對象調用 EditBatch 方法,可以批量修改實體。(1)查詢再修改,FindAll 得到集合。(2)設置需要修改的實體的各類屬性。(3)最后修改集合或集合中的個例。

2.4 批量刷新

刷新實體的方法和其他功能有所不同,主要是調用了其他的方法。

刷新是以反射再賦值的方式實現了實體的批量刷新,主要是通過反射拿取數據庫里的值,賦值回本地。將數據庫與本地數據兩者ID 做對比,若兩者中存在相同ID,則把數據庫中的數據下載到本地。若數據庫中沒有該ID,則將本地數據添加到數據庫中。

使用 DAO 對象調用 AttachAndRefreshBatch 方法,可以更新實體,結果以數據庫為準,使用實例如下:

2.5 批量覆蓋

覆蓋的操作與刷新大同小異,本軟件的覆蓋操作以本地數據為準,將數據上傳到數據庫,與批量刷新操作不同的是,批量覆蓋是對數據庫已有的實體做更新操作,沒有的做添加操作。類似于上傳的原理,通過這樣的方式更新數據庫,使之兩邊數據保持一致。

安卓使用Replace into 語句,輕松實現了預期功能,SQLite 數據庫是通過直接覆蓋的方式進行操作的。批量覆蓋操作就是將數據庫與本地數據兩者ID 做對比,與刷新操作所不同的是:若兩者中存在相同ID,則把數據庫中的數據進行更新操作。若數據庫中沒有該ID,則直接進行添加操作。使用 DAO 對象調用AttachAndOverrideBatch 方法,可以更新實體,結果以數據庫為準,

使用實例如下:

3 結語

安卓平臺相較于其他平臺,安卓具有開放性的優勢,這就意味安卓擁有更多的開發者,更多的用戶和應用。用戶和應用的多樣性會對插件的需求大量增加,可以讓插件得到快速的發展。安卓還是一個開源平臺,可以提供種類繁多的函數庫和有用的工具,減少開發者的工作量,同時還能增加創新性和軟件的交互性。目前安卓平臺的相關實體映射的插件較少,增加了所研究的映射插件的實用性。

在插件設計之初,并沒有考慮到用戶所使用的數據庫的多樣性的問題,只考慮了SQLite 數據庫。但實際上,一款優秀的插件則應該適應眾多的軟件,而不能專用化。所以,在后續的開發中,我們要讓插件的適用范圍更廣,例如在MySQL、Oracle、SQL Server 等數據庫中都可以使用。可以在Java SE 平臺使用Java 數據庫連接(Java Database Connect,JDBC) 工具向其他數據庫進行移植,以此來滿足在多種數據庫中均可進行使用的目的。

綜上所述,本次開發增加了批量操作的多種功能,既節省了時間,又使代碼更加簡練,操作更方便,節約了程序的運行內存,解放了計算機的運行壓力,為后續實體映射軟件的發展指明了新方向。

猜你喜歡
數據庫用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
關于非首都功能疏解的幾點思考
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 日韩天堂视频| 久久大香香蕉国产免费网站| 日韩精品久久久久久久电影蜜臀| 久久久久久久久亚洲精品| 婷婷99视频精品全部在线观看| 国产日本视频91| 日本三级欧美三级| 在线a视频免费观看| 亚洲福利视频网址| 成人韩免费网站| 911亚洲精品| 日本一本在线视频| 一本色道久久88| 色婷婷色丁香| 自拍欧美亚洲| 中文字幕一区二区人妻电影| 中文字幕在线欧美| 东京热av无码电影一区二区| 国产区福利小视频在线观看尤物| 又黄又湿又爽的视频| 久久不卡国产精品无码| vvvv98国产成人综合青青| 免费大黄网站在线观看| 好吊妞欧美视频免费| 国产三级韩国三级理| 国产精品自拍露脸视频| 在线免费观看AV| 99一级毛片| 999福利激情视频| 欧美午夜视频在线| 99r在线精品视频在线播放| 亚洲欧洲日本在线| 国产高清在线观看91精品| 国产高清免费午夜在线视频| 国产激爽爽爽大片在线观看| AⅤ色综合久久天堂AV色综合 | 午夜激情婷婷| 国产精品无码AⅤ在线观看播放| 久无码久无码av无码| 国产一区免费在线观看| 亚洲区欧美区| 玩两个丰满老熟女久久网| 国产第一页亚洲| 内射人妻无套中出无码| 在线观看91精品国产剧情免费| 欧美视频在线不卡| 美女免费黄网站| 精品在线免费播放| 免费无码在线观看| 亚洲视屏在线观看| 国产乱子伦无码精品小说| 亚洲人成色在线观看| 国产亚洲男人的天堂在线观看| 美女毛片在线| 国产精品99在线观看| 在线精品视频成人网| 国产高清色视频免费看的网址| 又猛又黄又爽无遮挡的视频网站| 国产最新无码专区在线| 欧美一区二区三区国产精品| 国产亚洲精品91| 国产高清精品在线91| 久久亚洲高清国产| 国产亚洲成AⅤ人片在线观看| 91精品小视频| 亚洲嫩模喷白浆| 18禁黄无遮挡网站| av尤物免费在线观看| 国产传媒一区二区三区四区五区| 热这里只有精品国产热门精品| 日韩国产欧美精品在线| 在线欧美国产| 欧美亚洲国产视频| 国产精品专区第1页| 精品一区二区三区水蜜桃| 538国产在线| 啪啪永久免费av| 日韩无码一二三区| 57pao国产成视频免费播放| 亚洲综合色吧| 手机精品视频在线观看免费| 国产欧美日韩va|