Source: https://dev-docs.yueshu.com.cn/v5.3.2/clients/java-client/ Documentation version: v5.3.2 # Java SDK 指南 本文介绍如何使用 [Java SDK](https://github.com/vesoft-inc/nebula-java/tree/v5.3.1) 连接悦数图数据库开发版并进行简单查询。 ## 前提条件 - 已安装 JDK 8。 - 对于本地部署用户,悦数图数据库开发版服务组正在运行中。更多信息,请参见[快速开始](https://dev-docs.yueshu.com.cn/v5.3.2/get-started/deploy/)。 ## 操作步骤 1. 将 Java SDK 导入到您的 Java 项目中。例如,使用 Maven 导入时,需将以下依赖项添加到`pom.xml`文件: ```` com.vesoft driver 5.3.1 ```` 注意:如果你引用了悦数图数据库开发版 SDK 依赖的项目在打包成 JAR 后,运行时出现`java.lang.IllegalArgumentException: Address types of NameResolver 'unix' for '192.168.15.8:9669' not supported by transport`错误,请在你项目的 pom.xml 中 添加插件 maven-shade-plugin 并配置 transformer: ```` org.apache.maven.plugins maven-shade-plugin 3.4.1 *:* package shade ```` 2. 选择以下任一方法连接悦数图数据库开发版并执行查询: Note 针对本地部署用户,在连接悦数图数据库开发版时,除了指定用户名和密码外,还可以启用无会话模式。该模式允许您不提供身份验证信息。更多信息,请参见[无会话模式](https://dev-docs.yueshu.com.cn/v5.3.2/server-admin/authentication/sessionless/)。 - 如果只有一个客户端需要与悦数图数据库开发版交互,您可以使用客户端(`client`)建立连接并执行查询。 ```` NebulaClient client = null; try { client = NebulaClient.builder(":", "", "") .withAuthOptions(Collections.emptyMap()) .withConnectTimeoutMills(1000) .withRequestTimeoutMills(3000) .build(); client.execute("USE nba MATCH (v:player) RETURN v.id, v.name, v.score, v.gender, v.rate"); } catch (Exception e) { throw e; } finally { if (client != null) { client.close(); } } ```` - 如果有多个客户端需要同时与悦数图数据库开发版交互,您可以创建连接池(`pool`)以管理一组连接。您可以使用池获取客户端(`client`)并在查询执行后将其返回。 ```` NebulaPool pool = null; try { pool = NebulaPool .builder(":", "", "") .withMaxClientSize(10) .withMinClientSize(1) .withConnectTimeoutMills(1000) .withRequestTimeoutMills(30000) .withBlockWhenExhausted(true) .withMaxWaitMills(Long.MAX_VALUE) .build(); NebulaClient client = pool.getClient(); client.execute("USE nba MATCH (v:player) RETURN v.id, v.name, v.score, v.gender, v.rate"); pool.returnClient(client); } catch (Exception e) { throw e; } finally { if (pool != null) { pool.close(); } } ```` 参数``、``、``和``须替换为实际的悦数图数据库开发版连接信息。 ## 更多信息 - [Java SDK GitHub 仓库](https://github.com/vesoft-inc/nebula-java/tree/v5.3.1) - [Java SDK API 文档](https://vesoft-inc.github.io/nebula-java/5.3.1/annotated.html)