使用Java操作ObjectivityDB
ObjectivityDB是一个高性能的面向对象数据库。下面是使用Java操作ObjectivityDB的步骤:
1. 引入Maven依赖 (ObjectivityDB的最新版本为16.1.2):
<dependency>
<groupId>com.objy.db</groupId>
<artifactId>objy</artifactId>
<version>16.1.2</version>
</dependency>
2. 创建ObjectivityDB的数据库连接,获取Database对象:
import com.objy.db.*;
public class ObjectivityDBDemo {
public static void main(String[] args) {
// 连接到数据库
Db.open("databaseName");
// 获取数据库对象
Database database = Db.getInstance().getDatabase("databaseName");
}
}
这里需要将 "databaseName" 替换为要连接的数据库名称。
3. 创建和定义对象类:
import com.objy.db.app.*;
import com.objy.db.util.*;
public class Person extends Oid {
private String name;
private int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
// 添加getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4. 数据插入、修改、查询和删除的示例:
// 创建对象
Person person = new Person("John Doe", 30);
// 在数据库中创建该对象
database.makePersistent(person);
// 修改对象的属性
person.setName("Jane Smith");
// 更新对象在数据库中的数据
database.update();
这将创建一个名为 "John Doe" 年龄为 30 的Person对象,并将其插入到数据库中。然后,该对象的名称将被修改为 "Jane Smith",并将更新到数据库中。
// 查询对象
OSet resultSet = database.queryByExample(Person.class);
// 遍历查询结果
while (resultSet.hasNext()) {
Person p = (Person) resultSet.next();
System.out.println("Name: " + p.getName() + ", Age: " + p.getAge());
}
这将查询数据库中所有 Person 类型的对象,并打印出每个对象的名称和年龄。
// 删除对象
database.delete(person);
// 更新数据库
database.update();
这将从数据库中删除先前创建的 Person 对象,并更新数据库。
注意事项:
- 引入ObjectivityDB依赖并设置正确的版本号。
- 根据实际情况更改数据库名称。
- 内部类Person需要继承Oid类,并添加getter和setter方法。
- 在使用数据库对象之后需要调用 `database.update()` 方法来持久化对数据库的更新。