OrientDB2.0安装及实例、场景
jopen
10年前
个人观点,OrientDB相对于Mongodb的优点:
1.支持本地操作数据库(即不需要启动服务器,类似Access),适用于轻量级应用
2.可以通过JVM控制内存,而mongodb只能通过系统层面控制用户的资源来实现
3.根据上述2点,OrientDB很好的集成到系统中、与应用部署到同一台服务器,非常适合用于记录日志
共同点:
1.文档数据库
2.支持分布式部署
1、安装并启动。下载window版的,解压,进入解压目录的bin目录,双击“server.bat”,按照提示输入初始密码,输入“123456”,确认后,出现“OrientDB Server v2.0 is active.”即启动成功。
2、Java实例,把解压目录的lib目录下的orientdb-*.jar导入到项目中。(因为我是在现有项目的基础上集成的,所以不用导入其它依赖包,报错的话根据自己的情况导入,或者整个lib目录导入),实例代码如下:
import java.util.List; import com.orientechnologies.orient.client.remote.OServerAdmin; import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx; import com.orientechnologies.orient.core.record.impl.ODocument; import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery; public class OrientdbUtil { public static void createDb(){ try { //本地创建数据库,不需要启动服务器 // ODatabaseDocumentTx oDatabaseDocumentTx = new ODatabaseDocumentTx ("plocal:D:/DevProgram/Orientdb20/databases/testdb").create(); // oDatabaseDocumentTx.close(); //远程创建数据库,需要先启动服务器 OServerAdmin oServerAdmin =new OServerAdmin("remote:localhost"); oServerAdmin.connect("root", "123456"); oServerAdmin.createDatabase("testdb","document","plocal"); oServerAdmin.close(); } catch (Exception e) { e.printStackTrace(); } return; } public static void addRecord(){ // ODatabaseDocumentTx oDatabaseDocumentTx = new ODatabaseDocumentTx("plocal:D:/DevProgram/Orientdb20/databases/testdb").open("admin", "admin"); ODatabaseDocumentTx oDatabaseDocumentTx = new ODatabaseDocumentTx("remote:localhost/testdb").open("admin", "admin"); ODocument oDocument = new ODocument("Person"); oDocument.field( "name", "张三" ); oDocument.field( "surname", "张小三" ); oDocument.field( "city", new ODocument("City").field("name","深圳").field("country", "中国") ); oDocument.save(); oDatabaseDocumentTx.close(); return; } public static void searchRecord(){ // ODatabaseDocumentTx oDatabaseDocumentTx = new ODatabaseDocumentTx("plocal:D:/DevProgram/Orientdb20/databases/testdb").open("admin", "admin"); ODatabaseDocumentTx oDatabaseDocumentTx = new ODatabaseDocumentTx("remote:localhost/testdb").open("admin", "admin"); List<ODocument> listResult = oDatabaseDocumentTx.query( new OSQLSynchQuery<ODocument>("select * from Person where name = '张三'")); for( ODocument oDocument:listResult ){ System.out.println(oDocument.field("surname")); } oDatabaseDocumentTx.close(); return; } public static void main(String[] args) { OrientdbUtil.createDb(); OrientdbUtil.addRecord(); OrientdbUtil.searchRecord(); } }
来自:http://my.oschina.net/u/1587335/blog/370345