SQL API
SmartESQL 以预构建库中的一组紧凑的 Java 类实现,这些库为 SmartEDB 数据库提供 SQL 访问。这些类的用法在 SQL Java SDK 示例中有演示。
对于初次接触 SmartESQL 的开发人员,我们推荐快速入门教程,以便快速掌握编程基础。然后继续构建并运行 SDK 示例。
SmartESQL Java 运行时库
核心的 SmartEDB 运行时功能被封装在 smartedb.jar 存档中,该存档与 Java 应用程序一起编译。然后,当实例化数据库时,可以设置以下数据库配置值以动态加载相关联的库,但请注意,对于 SQL 支持,无需其他库:
常量值 | 说明 |
---|---|
MCO_CFG_DEBUG_LIBRARY | 加载库的调试版本以提供更多的诊断异常信息 |
MCO_CFG_DISK_SUPPORT | 加载存储在持久存储设备上的数据库的_disk 版本的库文件 |
MCO_CFG_SHARED_MEMORY | 为使用共享内存的数据库加载库的 _shm 版本 |
MCO_CFG_MVCC_TRANSACTION_MANAGER | 加载库的 _mvcc 版本以使用 MVCC 事务管理器。默认情况下加载的是 _mursiw (MURSIW 事务管理器)版本 |
Java 中的嵌入式 SQL 应用程序开发
正如 Java 应用程序开发页面中所解释的那样,Java 应用程序会将数据库架构定义为带有 @Persistent 注释的原生 Java 类,然后在 Database 构造函数调用中指定可选的支持库。内存设备和数据库参数在传递给 Database 类的 open() 方法的 Database.Parameters 对象和 Database.Device 数组中指定。SmartESQL 应用程序的不同之处在于,不是通过 Connection 对象,而是通过 Database 方法 connectSql() 实例化 SqlLocalConnection 或 SqlRemoteConnection 来初始化 SQL 引擎,然后通过 executeQuery() 和 executeStatement() 方法用于所有 SQL 数据库访问。
处理 SQL 查询
提供了 SqlResultSet 和 SqlTuple 这两个类用于处理查询结果。通常,通过调用带有选择语句的 executeQuery() 来实例化一个 SqlResultSet;然后使用 for 循环遍历结果集。SqlTuple 类用于处理当前结果集行。
执行 SQL 语句
executeStatement() 方法会使用插入、更新或删除语句来修改数据库内容。
应用程序实现细节
请使用以下链接获取有关使用 Java API 实现嵌入式 SmartESQL 应用程序的一般原则。
主题 | 说明 |
---|---|
示例 | 一个简单的 Java 应用程序示例 |
实现细节 | 各种 Java 实现细节 |
事务 | Managing SQL transactions in Java |
SqlAggregator | Instructions for using the SqlAggregator class |