📜  OrientDB教程(1)

📅  最后修改于: 2023-12-03 15:33:20.788000             🧑  作者: Mango

OrientDB教程

什么是OrientDB?

OrientDB是一个基于Java的多模型开源NoSQL数据库管理系统,旨在将图形数据库、文档数据库和键值存储建立成一个单独的面向对象模型。

为什么要使用OrientDB?
  • 支持多模型,具备图形数据库、文档数据库和键值存储的特征,可以针对不同的应用场景进行优化。
  • 支持复杂的查询,具备内置的SQL语句查询器,还可以使用类似于图的遍历方式进行查询,非常灵活。
  • 支持ACID事务。
  • 支持分布式架构。
  • 社区活跃,提供广泛的文档和支持。
安装OrientDB

OrientDB官网提供了下载安装文档,可以根据自己的操作系统和需求进行选择。

快速开始
创建数据库

可以使用OrientDB Studio创建数据库,也可以使用OrientDB提供的Java API来创建数据库。

使用OrientDB Studio创建数据库

默认情况下,OrientDB会在本地启动一个Web服务器,可以通过http://localhost:2480/访问它。在这里可以创建、删除数据库,手动执行SQL查询等。

使用Java API创建数据库

import com.orientechnologies.orient.core.db.ODatabaseSession;
import com.orientechnologies.orient.core.db.OrientDB;
import com.orientechnologies.orient.core.db.OrientDBConfig;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;

public class CreateDatabase {
    
    public static void main(String[] args) {
        String url = "remote:localhost";
        String userName = "root";
        String password = "root";
        String dbName = "testdb";
        
        OrientDB orientDB = new OrientDB(url, OrientDBConfig.defaultConfig());
        ODatabaseSession dbSession = orientDB.open(userName, password);
        dbSession.createDatabase(dbName, "plocal");
        orientDB.close();
        
        System.out.println("Database created successfully!");
    }
    
}
数据库连接

使用OrientDB提供的Java API连接数据库。

import com.orientechnologies.orient.core.db.ODatabaseSession;
import com.orientechnologies.orient.core.db.OrientDB;
import com.orientechnologies.orient.core.db.OrientDBConfig;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;

public class ConnectDatabase {
    
    public static void main(String[] args) {
        String url = "remote:localhost";
        String userName = "root";
        String password = "root";
        String dbName = "testdb";
        
        OrientDB orientDB = new OrientDB(url, OrientDBConfig.defaultConfig());
        ODatabaseSession dbSession = orientDB.open(dbName, userName, password);
        
        System.out.println("Database connected successfully!");
        
        dbSession.close();
        orientDB.close();
    }
    
}
创建类和记录

OrientDB使用类似于Java中的类的概念,这些类在OrientDB中称作“类”(class)。每个类都有一个标识符和属性。

可以通过OrientDB提供的Java API创建类和记录。

import com.orientechnologies.orient.core.record.OElement;
import com.orientechnologies.orient.core.record.impl.ODocument;

public class CreateClassAndRecord {
    
    public static void main(String[] args) {
        String url = "remote:localhost";
        String userName = "root";
        String password = "root";
        String dbName = "testdb";
        
        OrientDB orientDB = new OrientDB(url, OrientDBConfig.defaultConfig());
        ODatabaseSession dbSession = orientDB.open(dbName, userName, password);
        
        dbSession.createClass("Person");
        OElement record = dbSession.newElement("Person");
        record.setProperty("name", "Peter");
        record.setProperty("age", 30);
        dbSession.save(record);
        
        dbSession.close();
        orientDB.close();
        
        System.out.println("Class and record created successfully!");
    }
    
}
查询数据

OrientDB内置了一个SQL查询器,可以使用SQL语句查询数据。

import com.orientechnologies.orient.core.db.ODatabaseSession;
import com.orientechnologies.orient.core.db.OrientDB;
import com.orientechnologies.orient.core.db.OrientDBConfig;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.sql.executor.OResultSet;

public class QueryData {
    
    public static void main(String[] args) {
        String url = "remote:localhost";
        String userName = "root";
        String password = "root";
        String dbName = "testdb";
        
        OrientDB orientDB = new OrientDB(url, OrientDBConfig.defaultConfig());
        ODatabaseSession dbSession = orientDB.open(dbName, userName, password);
        
        String sql = "SELECT * FROM Person WHERE name = 'Peter'";
        OResultSet rs = dbSession.query(sql);
        while (rs.hasNext()) {
            System.out.println(rs.next().toJSON());
        }
        
        rs.close();
        dbSession.close();
        orientDB.close();
    }
    
}
更多操作

OrientDB提供了非常丰富的API和工具,支持更多的操作和场景,可以参考官方文档了解更多细节。

总结

通过本教程,我们了解了什么是OrientDB以及它的优点,学习了如何安装、创建数据库、连接数据库、创建类和记录以及查询数据等操作。希望对你有所帮助!