java之BerkeleyDB(二)--绑定(Binding)技术、游标(Cursor)

本文详细介绍了Java中BerkeleyDB的绑定技术,包括SerialBinding和自定义的TupleBinding,强调了官方推荐使用Bind APIs进行数据转换。同时,文章讲解了游标(Cursor)的使用,如何通过getNext()和getPrev()遍历数据库记录,以及游标在查找和插入数据时的作用。
摘要由CSDN通过智能技术生成

继续上篇《java之BerkeleyDB(一)》

上篇我们先直接看了个例子:

有几个注意的,在BDB数据库里,默认是不能有重复的两个相同的键,当然可以通过config配置sortedDupli...来设置可以,所以在读取数据库值的时候必须考虑两种情况,是否存在相同的键的记录

JE provides two basic mechanisms for the storage and retrieval of database key/data pairs:

  • The Database.put() and Database.get() methods provide the easiest access for all non-duplicate records in the database. These methods are described in this section.

  • Cursors provide several methods for putting and getting database records. Cursors and their database access methods are described in Using Cursors.

看完上段OK,如果是设置non-duplicate,那就直接用db.get() db.put()来操作记录。否则就得用Cursor了

  • Database.put()

  • Database.putNoOverwrite()

  • Database.putNoDupData()

  • Database.get()  这个利用key来找

  • Database.getSearchBoth() 这个利用Key和value共同找记录

delete函数:如果记录是支持duplicate,则删除所有满足的key的记录,如果想删除某一条,还是得用cursor


上篇我们简单的打开了数据库和进行简单的存储

这个对于我们存储数据的基本类型还行,但是涉及到用户自定义类的时候,单靠之前的转换函数来从string转换程对象是不妨便的,我们来看看BDB为我们准备来什么?

引自使用手册:

DatabaseEntry can hold any kind of data from simple Java primitive types to complex Java objects so long as that data can be represented as a Java byte array. Note that due to performance considerations,you should not use Java serialization to convert a Java object to a byte array. Instead, use the Bind APIs to perform this conversion (see 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值