- 浏览: 1012036 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
文章关键字:Java 嵌入式开发 DB data 通讯录 address book 文本数据库 微型 记录 数据
下载地址(这些小程序依例丢在code.google上):http://code.google.com/p/greenvm/downloads/list
LMini是Loonframework分支项目之一,它是一个仅有55KB的纯Java嵌入式文本数据库,不支持SQL语句,完全以面向对象方式
进行数据操作,在Loonframework主包中主要负责实现缓存数据的硬盘持久化功能。但作为项目分支,LMini并非必须与
Loonframework主包集成,也允许作为单独的微型数据库存在。
LMini的开发目的在于提供一种简单快捷的本地数据持久化方
式,如游戏记录、文件缓存、简单的增、删、改、查操作都可以通过LMini得以实现,它的优势在于完全脱离java.sql包依赖,比db4o、
sqllite体积更小,比Properties所提供的功能等多。
LMini通过MDB接口进行数据库操作,而根据MDB接口所获得的不同实例,操作模式又可分为如下三种,即:内存模式、单一文件模式及多文件模式。
内存模式:
实例化此模式后,将直接在内存开辟一块区域进行数据库模拟操作,当程序关闭时内存数据库也随之消失,不能持久化保存,调用方法为Engine.getMEMDB。
单一文件模式:
实例化此模式后,数据库将以文件形式存在,程序会自动产生唯一的物理文件于硬盘之上,所有操作也将基于此物理文件进行,只要此文件不被删除数据将永久存在,调用方法为Engine.getMDBOnly。
多文件模式:
实例化此模式后,数据库将以文件夹形式存在,程序会自动根据创建的表格产生多个物理文件于此文件夹中,所有操作将基于此文件夹进行,只要此文件夹及其中文件不被破坏,数据将永久存在,调用方法为Engine.getMDBMany。
以上三种模式皆为接口实现,操作方法完全一致,仅在保存方式上有所分别。
基本操作方式:
1、数据库的创建与打开:
当我们对MDB接口进行实例化,并调用begin方法后,LMini会自动监测指定位置是否已有文本数据库存在,有则加载其文件内容,没有将自动创建一个空数据库于指定位置。
LMini以一个begin方法打开数据库连接,以end方法关闭连接,具体代码如下:
- MDB mdb = Engine.getMDBOnly( "c:\\test.db" );
- mdb.begin();
- mdb.end();
2、密码保护功能:
除内存模式之外,LMini提供了简单的密码保护功能,以防止数据库文件被他人盗用,只要在begin创建数据库时设定即可,密码错误时再次打开此文件将提示异常,具体代码如下:
- MDB mdb = Engine.getMDBOnly( "test.db" );
- mdb.openTable("test" ,TypeBase.STRING);
- //设定密码
- mdb.begin("wt98ab" );
- mdb.end();
3、增、删、改、查:
LMini以openTable方法打开或创建一个指定表格,但区别于其它数据库,Lmini每个表格仅允许保存一种数据类型,以简化LMini文件处理
过程;目前其支持的类型为Long,Integer,String,Byte[],Object五种,我们可以通过Lmini提供的TypeBase类注
入需要的类型。不填写情况Lmini将默认表格存储类型为Object,也就是所有经过序列化的对象都可以存储于本地硬盘之上。
LMini针对CRUD提供了相对应的insert、select、update、delete方法以供调用,只要注入相关对象即可完成操作,具体代码如下:
- MDB mdb = Engine.getMDBOnly( "test.db" );
- mdb.openTable("test" ,TypeBase.STRING);
- //设定密码
- mdb.begin("wt98ab" );
- //插入数据
- mdb.insert("久保" , "砍砍砍" );
- mdb.insert("尾田" , "我要成为海军" );
- mdb.insert("岸本" , "都死光了" );
- //删除数据
- mdb.delete("岸本" );
- //变更数据
- mdb.update("尾田" , "我要成为海贼王" );
- //查询
- System.out.println(mdb.select("尾田" ));
- mdb.end();
4、表格中数据的遍历:
LMini提供了getTableKey方法以获得当前表格下所有字段名,提供了getTableList方法以获得当前表格下所有字段及数据,具体代码如下:
- MDB mdb = Engine.getMDBOnly( "test.db" );
- mdb.openTable("test" ,TypeBase.STRING);
- //设定密码
- mdb.begin("wt98ab" );
- //插入数据
- mdb.insert("久保" , "砍砍砍" );
- mdb.insert("尾田" , "我要成为海军" );
- mdb.insert("岸本" , "都死光了" );
- //删除数据
- mdb.delete("岸本" );
- //变更数据
- mdb.update("尾田" , "我要成为海贼王" );
- //查询
- System.out.println("尾田说:" +mdb.select( "尾田" ));
- for (Iterator it=mdb.getTableKey().iterator();it.hasNext();){
- String name=(String)it.next();
- System.out.println("字段名:" +name);
- System.out.println("数据: " +(String)mdb.getTableList().get(name));
- }
- mdb.end();
程序示例:
本
例提供了一个Lmini操作通讯录的简单操作示例,利用开源metawidget项目所提供的addressbook-swing加以改造而成,仅替换其
直接硬编码在Table中数据为真实操作Lmini数据库并修正部分英文窗体为中文,metawidget项目所有权利均与本人无关,本示例仅为借用其界
面,特此声明。(PS:源码在jar中,另外使用metawidget的UI还挺费空间,要用5MB的支持库|||……)
LMini
的操作方式非常简便,笔者昨天预告的TLOH项目的游戏存档器也将采用LMini加以实现,目前LMini还在不断完善中,希望各位看客能给予支持及指
正,另外现在发的LMini比Loonframework主包中的版本差一次更新,具体差别到发布Loonframework-0.2.0时就能看到了。
下载地址(这些小程序依例丢在code.google上):http://code.google.com/p/greenvm/downloads/list
发表评论
-
VS2010 C++下编译调试MongoDB源码[转]
2011-12-17 00:48 1354考虑到mongodb使用了boost库源码,参考mongodb ... -
mysql 批量update
2011-05-25 17:56 2931我们都知道在MySQL中批量insert的速度会比一条条ins ... -
MySQL查询及删除重复记录的方法
2011-05-06 18:43 1166查询及删除重复记录的方法(一)1、查找表中多余的重复记录, ... -
MYSQL删除重复记录(此处有正解)
2011-05-06 14:11 950有关mysql删除重复记录的方法,我在网上看到很多文章,很多是 ... -
Java开源数据库、Java嵌入式数据库、Java内存数据库 第一部分
2011-05-05 20:33 2180Java免费开源数据库、Java 嵌入式数据库、Java ... -
Java开源数据库、Java嵌入式数据库、Java内存数据库 第二部分
2011-05-05 20:32 1611Apache Xindice Apache Xin ... -
Java嵌入式数据库LMini-0.1.2及其通讯录使用示例发布
2011-05-05 20:32 842[转]下载地址(这些小程序依例丢在code.google上 ... -
轻松掌握MySQL数据库锁机制的相关原理
2011-03-29 19:40 882《轻松掌握MySQL数据库 ... -
MySQL错误_中文参照列表
2011-02-15 20:26 730MySQL错误_中文参照列表 1005:创建表失败 ... -
mysql 的最大连接
2011-02-15 20:25 748mysql 的最大连接 系统不能连接数据库,关键要看两个数据 ... -
查询及删除重复记录的方法 (一) 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people whe
2011-02-15 20:23 1387一个MYSQL多值查询的存储过程 DELIMITER $$ ... -
MySQL查询及删除重复记录的方法
2011-02-15 20:22 921MySQL查询及删除重复记录的方法 查询及删除重复记录的方法 ... -
引用 [原创]数据库事务
2011-02-12 23:05 911引用 [原创]数据库事务 数据库事务 200 ... -
引用 [转]转一个关于优化sql的文章
2011-02-12 23:04 756引用 [转]转一个关于优化sql的文章 数据 ... -
JDBC事务隔离级别
2011-02-12 23:04 1069JDBC事务隔离级别 数据库事务 2009- ... -
jdbc查看数据库事务隔离级别
2011-02-12 23:01 1558jdbc查看数据库事务隔离级别 数据库事务 ... -
引用 数据库范式详细解释
2011-02-12 22:59 1150引用 数据库范式详细解释 数据库及设计 20 ... -
数据库设计的三范式
2011-02-12 22:58 1045数据库设计的三范式 数据库及设计 2009- ...
相关推荐
让我们深入了解一下xlwt3-0.1.2及其在Python编程中的应用。 **xlwt简介** xlwt是Python的一个开源库,专门用于创建和修改Microsoft Excel(.xls)文件。这个库提供了一个简单的API,使得开发者能够轻松地创建工作...
资源分类:Python库 所属语言:Python 资源全名:asyncmy-0.1.2-cp39-cp39-manylinux2014_x86_64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
在Http请求中,有时需要知道Content-Type类型,尤其是上传文件时,更为重要,虽然有些办法可以解决,但都不太准确或者繁琐.jMimeMagic是... 最新版本是V 0.1.2。需要jar包:commons-logging-1.0.x.jar,log4j-1.2.x.jar
标题中的"PyPI 官网下载 | pytest-pyppeteer-0.1.2.tar.gz"表明这是一个从Python Package Index (PyPI) 下载的软件包,名为pytest-pyppeteer,版本号为0.1.2,格式为tar.gz。PyPI是Python社区的官方仓库,用于分发...
安装"pygame_colliders-0.1.2-py3-none-any.whl"文件非常简单,只需要在命令行中使用pip命令即可,如下所示: ```bash pip install pygame_colliders-0.1.2-py3-none-any.whl ``` 安装完成后,开发者便可以在项目中...
资源分类:Python库 所属语言:Python 资源全名:pi-touch-gui-0.1.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
python库。 资源全名:pyjexl-0.1.2-py2.py3-none-any.whl
资源来自pypi官网。 资源全名:mental_models-0.1.2-py3-none-any.whl
标题中的"Aeros-0.1.2-py3-none-any.whl.zip"表明这是一个压缩文件,其中包含了名为"Aeros-0.1.2-py3-none-any.whl"的文件。这个文件是Python的 Wheel 格式,是预编译的Python软件包,用于简化安装过程。"py3-none-...
标题中的"PyPI 官网下载 | extcolors-0.1.2.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的软件包,名为`extcolors`,版本为0.1.2,且文件格式为tar.gz。PyPI是Python开发者发布自己编写的模块或库的...
【标题】"engine.io-client-0.1.2.zip" 是一个包含Engine.IO客户端库的压缩文件,版本为0.1.2。Engine.IO是一个实时通信框架,它为Web应用程序提供了低延迟、高效率的双向通信机制。Engine.IO是Socket.IO的底层实现...
资源分类:Python库 所属语言:Python 资源全名:rpi_ad7606-0.1.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
标题 "Arase-0.1.2-py3-none-any.whl.zip" 暗示我们正在处理一个Python软件包的压缩文件。这个文件名遵循Python的Wheel格式,这是一种预编译的Python软件包分发格式,旨在提高安装速度和跨平台兼容性。"Arase" 是...
《Python库aws_longer-0.1.2:探索Python在AWS云计算中的应用》 Python是一种广泛应用于开发语言,尤其在后端开发和云计算领域,它以其简洁的语法和丰富的库支持而备受青睐。在AWS(Amazon Web Services)的生态...
《Python库xy-libcollection-0.1.2详解》 在Python编程中,库是开发者不可或缺的工具,它们提供了一系列预定义的函数和模块,帮助我们高效地完成各种任务。"xy-libcollection-0.1.2.tar.gz"便是这样一个Python库的...
4. `README.md`:通常包含项目简介、安装指南、使用示例和贡献方法等,帮助用户快速了解和使用库。 5. `src`或`python`目录:存放库的源代码。 6. `tests`目录:包含测试用例,确保库的功能正常工作。 7. `docs`...
资源分类:Python库 所属语言:Python 资源全名:clip-server-0.1.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
用户应该首先解压"AqOrg-0.1.2-py3-none-any.whl.zip",然后可以使用Python的`pip`工具来安装"AqOrg-0.1.2-py3-none-any.whl"。`pip`会自动处理Wheel文件,将包安装到Python的环境中。 以下是如何使用`pip`安装这个...
总之,"AIOrqlite-0.1.2-py3-none-any.whl.zip"是一个针对Python 3的软件包,使用了Wheel格式,提供了对Oracle数据库的智能操作,便于安装和跨平台使用。为了充分利用这个库,用户需要遵循“使用说明.txt”的指导,...