欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > JAVA在SQLite嵌入式数据库中的应用

JAVA在SQLite嵌入式数据库中的应用

日期:2023-01-24 阅读量:0 所属栏目:软件技术


  1引言

  通常我们采用各种数据库产品来实现对数据的存储、检索等功能,例如,Oracle,SQLServer,MySQL等等。这些产品除提供基本的查询,删除,添加等功能外,也提供了很多高级特性,如触发器,存储过程,数据备份恢复,全文检索功能等。但实际上,很多的应用,仅仅利用到了这些数据库产品的基本特性而巳。

  而且在一些小型应用上,或者某些特殊场合的应用,比如桌面程序,这些数据库产品就明显有一些臃肿。在这些情况下,嵌入式数据库的优势就特别明显了。

  嵌入式数据库无须独立运行的数据库引擎,它是由程序直接调用相应的API去实现对数据的存取操作。更直白的讲,嵌入式数据库是一种具备了基本数据库特性的数据文件。嵌入式数据库与其它数据库产品的区别是,前者是程序驱动式,而后者是引擎响应式。嵌入式数据库的一个很重要的特点是它们的体积非常小,编译后的产品也不过几十K。这不但对桌面程序的数据存储方案是一个很好的选择,也使得它们可以应用到一些移动设备上。同时,很多嵌入式数据库在性能上也优于其它数据库,所以在高性能的应用上也常见嵌入式数据库的身影。

  下面介绍的是开放源代码的嵌入式数据库,SQLite。同时侧重研宄如何应用Java连接SQLite数据库,并开发基于SQLite的应用程序。

  2SQLite简介

  SQLite是D?理查德?希普开发出来的用一个小型C库实现的一种强有力的嵌入式关系数据库管理体制。它提供了对SQL92的大多数支持:支持多表和索引、事务、视图、触发和一系列的用户接口及驱动。

  SQLite实现了完备的、可嵌入的、零配置的SQL数据库引擎。它的特点包括:

  1.事务处理是原子的、一致的、独立的和持久的(ACID),即使在系统崩溃和掉电以后。

  2.零配置,即不需要设置和管理。

  3.实现了绝大部分的SQL92标准。

  4.一个单独的磁盘文件存储一个完整的数据库。数据库文件在机器之间可自由共享。

  5.支持数据库文件大小至2TB.

  6.字符串和BLOG的大小只受限于可用存储器容量.代码量小,即小于30K的C代码行和小于250K的代码空间(gcc在i486上)

  9.对于绝大多数普通操作来说,比流行的C/S模式的数据库引擎运行速度快。

  简单、易用。

  可以看出,基于以上特点,SQLite非常适合应用于嵌入式移动数据库。SQLite的版权允许无任何限制的应用,包括商业性的产品。SQLite官方主站上可以下载到编译后的SQLite程序。

  3建立SQLite数据库

  SQLite是无数据类型的数据库。虽然在生成表结构的时候,要声明每个域的数据类型,但S"Lite并不做任何检查。开发人员要靠自己的程序控制输入与读出数据的类型是正确的。这里有一个例外,就是当主键为整型值时,如果要插入一个非整型值时会产生异常。另外,虽然在插入或读出数据的时候是不区分类型的,但在比较的时候,不同数据类型是有区别的。比如!

  CREATETABLEMyTable(aINTEGER,bTEXT);INSERTINTOMyTableVALUES(0,0);

  当执行下面的查询:

  SELECTcount(*)FROMMyTableWHEREa=='

  00-;

  会返回一条记录,因为字段a的类型是整型,而数字00与0是相等的。而执行下面的查询则不会返回记录!

  SELECTcount(*)FROMMyTableWHEREb=='00-;

  因为字段b是字符类型,字符"00"与"0"是不相等的。

  SQLite提供了对Transaction的支持。应用Transaction即保证了数据的完整性,也会提高运行速度,因为多条语句一起提交给数据库的速度会比一条一条的提交方式更快。

  SQLite库包括一个简单的命令行工具,该工具名称对应S"Lite-3_2_2版本叫做sqlite3,用户使用这个工具可以对一个S"Lite数据库手工输入和执行S"L命令。例如建立一个名叫wgy的S"Lite数据库,并建立个名叫user的表的步骤如下:

  Sqlite3wgy

  SQLiteversion3.2.1

  Enter".help"forinstructions

  sqlite>createtableuser(usernamevarchar(10),passwordvarchar(10));

  sqlite〉insertintouservalues(,Marry,,’111111,);sqlite〉insertintotbl1values(,Helen,,&222222,);sqlite〉select*fromuser;

  Marryl111111

  Helenl222222

  Sqlite〉

  用户结束操作只需按CTRL+C组合键。注意每条SQL命令后要加分号。

  用户可能对命令行方式的操作感到不直观,不太容易使用。那么用户可以使用S"LiteDatabaseBrowser软件,这是一个免费的、公用域的、开源的可视化工具,可以用来建立、编辑S"Lite数据库文件。这就意味着用尸可以不必学习复杂的S"L命令,而直接使用熟悉的可视化图形界面设计、编辑S"Lite数据库。用户可从<>下载该工具软件。

  4SQLite的第三方JAVA接口

  SQLite源代码是C,而且官方网站上只提供了C和Tcl语言的接口。为了应用Java接口,要采用第三方的接口驱动程序,可在<>javasqlite中找到这个Java接口程序。这个接口提供了两种连接SQLite的方式:一是直接用JNI技术调用SQLite的C语言接口,这种方式要求开发人员要对SQLite本身的API也有一定的了解。在第二种方式中,接口程序实现了Java标准规范的JDBC接口,这样开发人员只要对JDBC有了解就可以了。

  第三方接口库中的Java代码包含JNI接口和多个版本的JDBC接口程序,可根据你的JRE的版本选择相应的JDBC程序。Java类包加上文件,组成了SQLite的Java接口库,在应用Java语言调用JDBC或JNI接口时,都是通过应用Java的本地化技术调用文件,完成对S"Lite数据库的操作。

  4.1应用JNI直接调用S"Lite功能

  下面这段代码演示如何应用JNI接口操作SQLite。可以看到Database类的exec()方法是执行S"L语句的关键:

  Databasedb=newDatabase();

  try{

  //打开数据库

  ("c:\\temp\\",0666);upt();_timeout(1000);_handler(null);

  ("createtableaccount(namevarchar(10),galeboolean)",result);

  ("insertintoaccountvalues(-steve-,-m-)",result);

  ("select*fromaccount",result);//关闭数

  据库

  ();

  }catch(Exceptione){tackTrace();

  }

  4.2应用JDBC连接SQLite

  用户一定要保证在类路径class_path中有“",并且保证在你的JAVA库路径JAVAlibrarypath中有本地库nativelibrary。用"iver"作为JDBC的驱动程序类名。连接JDBC的URL格式为jd-bc:sqlite:/path。这里的path为指定到SQLite

  3控制系统软件设计

  控制系统软件负责信号的采集、解算和控制等工作。在编写软件时,采取模块化设计的原则,把功能相对独立的程序做成子程序供其它程序调用。由于用c语言编写程序层次明了,系统控制软件大部分采用c语言编写。

  遥控机器人平台控制系统程序主要有两部分组成,即主程序和串口中断程序。流程图分别如图4、图5所示。

  当单片机收到数传模块数据后将触发串口中断进入串口中断程序。

  4结论

  本设计系统体积小,重量轻。通过实验验证,系统的人机交互能力较强,运行稳定可靠,控制灵活反应迅速,达到预期的设计要求。在以后的研宄工作中,通过安装传感器测量车轮的转速,从而使操纵人员更清晰地得到遥控机器人平台的反馈,使本系统更具有良好的社会和经济应用前景。


本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/229332.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学