您当前的位置: 首页 >  unity

Peter_Gao_

暂无认证

  • 0浏览

    0关注

    621博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity客户端使用嵌入数据库

Peter_Gao_ 发布时间:2020-05-28 21:41:14 ,浏览量:0

一、什么是SQLite?

SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中,以嵌入式作为它的设计目标,它占用资源非常的低,因此适合在嵌入式设备如Android、Ruby on Rails等中使用。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟和C、C++、Ruby、Python、C#、PHP、Java等编程语言相结合。SQLite是一个以文件形式存在的关系型数据库,尽管无法实现分布式和横向扩展,可是作为一个轻量级的嵌入式数据库,它不需要系统提供服务支持,通过SDK直接操作文件避免了对数据库维护的相关事务,从这个角度来讲它是一个出色的数据库。

二、为什么要选择SQLite

好了,在了解了SQLite后,我们来了解下SQLite有哪些让我们心动的特性,或者说我们为什么要选择SQLite,因为在这个世界上我们有太多的数据库可以选择,诸如Oracle、MySQL、SQLServer、DB2、NoSQL、MongoDB等等:

  • ACID事务
  • 零配置 – 无需安装和管理配置
  • 储存在单一磁盘文件中的一个完整的数据库
  • 数据库文件可以在不同字节顺序的机器间自由的共享
  • 支持数据库大小至2TB
  • 足够小, 大致13万行C代码, 4.43M
  • 比一些流行的数据库在大部分普通数据库操作要快—SQLite读写效率如此之高,会使用其他数据库的理由是?
  • 简单, 轻松的API
  • 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定
  • 良好注释的源代码, 并且有着90%以上的测试覆盖率
  • 独立: 没有额外依赖
  • 源码完全的开源, 你可以用于任何用途, 包括出售它
  • 支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等
三、Unity3D中的SQLite

在Unity3D中使用SQLite,我们首先要明白这样一件事情,即我们这里的使用的SQLite并非是通常意义上的SQLite.NET,而是经过移植后的Mono.Data.Sqlite。因为Unity3D基于Mono,因此使用移植后的Mono.Data.Sqlite能够减少我们的项目在不同平台上出现各种各样的问题。在Unity3D中使用的SQLite以Mono.Data.Sqlite.dll即动态链接库的形式给出,因此我们需要将这个文件放置在项目目录下的Plugins文件夹中,此外我们需要System.Data.dll、Mono.Data.dll和SQLite3.dll这三个文件添加到Plugins目录中,因为我们需要的部分数据相关的API或者类都定义在这两个文件当中.

在正式开始写代码前,我们首先来回顾下通常情况下数据库读写的基本流程吧!

  • 定义数据库连接字符串(ConnectionString)完成数据库连接的构造,建立或者打开一个数据库。
  • 定义相关的SQL命令(Command)通过这些命令实现对数据库的增加、删除、更新、读取四种基本功能。
  • 在完成各种数据库操作后及时关闭数据库连接,解除对数据库的连接和引用。
  四、怎么做 前期准备

要在Unity中使用Sqlite需要将 Mono.Data.Sqlite.dll,System.Data.dll, Sqlite3.dll 三个文件放入Plugins文件夹下。

已经打包好了,直接下载: 链接: https://pan.baidu.com/s/17YX7uryQF-GdXs_V-kH2Bw 提取码: i46y

也可以分别获得:

Mono.Data.Sqlite.dll

在Unity的Editor安装目录下“ Editor\Data\Mono\lib\mono\2.0\ Mono.Data.Sqlite.dll”

System.Data.dll

在Unity的Editor安装目录下“ Editor\Data\Mono\lib\mono\2.0\ System.Data.dll”

Sqlite3.dll

在Sqlite的官网下载对应的版本即可“ https://www.sqlite.org/download.html ”

 

 

参考:

https://blog.csdn.net/nippyli/article/details/74202107

https://zhuanlan.zhihu.com/p/93198248

https://www.jianshu.com/p/1e596b42e607

https://blog.csdn.net/qq_39824797/article/details/83304916

https://blog.csdn.net/perseverancep/article/details/72898486

https://www.cnblogs.com/gavanwanggw/p/7306048.html

关注
打赏
1664521772
查看更多评论
立即登录/注册

微信扫码登录

0.2929s