java - ORMLite 可以与服务器一起使用吗?

标签 java ormlite

我希望我的 Java 应用程序能够作为远程服务器的客户端。我可以为此使用 ORMLite 吗?文档中提到了spring框架。但是 a) 我不确定如何使用它,b) 我不确定它是否适用于此应用程序。

通过服务器连接我的意思是我想使用 DAO 从我的服务器上的数据库轮询和推送数据(我确信大多数客户端/服务器都是这样做的)。 enter image description here

<小时/> 编辑:回应格雷的后续行动。

<小时/>

在进一步讨论我感到困惑的内容之前,我应该阐述我对交互类的作用的理解。

JDBCConnectionSource

是客户端(ConnectionSource 的发起者)和主机(无论是本地数据库还是基于服务器的数据库)之间的桥梁。

DAO

提供用于轻松创建 SQL 查询的工具的界面。

现在我仍然不完全理解的是 DAOJdbcConnectionSource 与我的服务器的交互。应用程序DAO是否生成完全“编译”的SQL语句并将其分派(dispatch)到应用程序ConnectionSource以传输到主机?服务器在收到 SQL 请求后会正确地委托(delegate)它 - 处理请求、收集数据并返回它?

最佳答案

我不是 100% 确定你的意思,但这里有一些关于 ORMLite 的一般信息和远程处理。 ORMLite 当然可以联系服务器上的远程数据库。您所需要做的就是指定指向远程系统的 JDBC URL:

// you can change the database type, hostname, and the database name
String databaseUrl = "jdbc:mysql://host.name.j256.com/databaseName";
ConnectionSource connectionSource = new JdbcConnectionSource(databaseUrl);
...

您当然可以使用 Spring 来实现此目的,但这不是必需的。如果您打算使用某种 HTTP、RMI 或其他远程处理机制来联系服务器,那么您必须为此编写客户端/服务器包装器。除了 JDBC 提供的远程处理之外,ORMLite 不提供任何远程处理。

希望这有帮助。

<小时/>

编辑:

JDBCConnectionSource 是使用 JDBCConnectionSource 接口(interface)的实现。与数据库对话。还有 AndroidConnectionSource,它在 AndroidOS 下使用直接数据库调用。

令人震惊的是,ConnectionSource 是数据库连接的来源。您可以通过 looking at its javadocs 查看各种方法。最常用的方法是: getReadOnlyConnection()getReadWriteConnection()releaseConnection。这本身并不进行任何远程处理。它允许 JDBC 对数据库服务器进行实际连接和远程处理,无论是本地还是远程。

Dao 接口(interface)提供了对数据库执行所有操作的工具。它使用 ConnectionSource 获取与数据库的连接,执行操作(插入、删除、更新、选择),然后释放数据库连接。

Now what I am still don't fully understand is the interaction of the DAO and the the JdbcConnectionSource with my server. Does the application DAO generate a fully "compiled" SQL statement and dispatch it to the application ConnectionSource for transmission to the host?

没有。 ORMLite 生成执行操作所需的 SQL,它从 ConnectionSource 获取到数据库的连接,它编译 SQL 并使用该连接设置任何参数,它使用该连接执行语句,它处理结果,然后释放连接。

关于java - ORMLite 可以与服务器一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432988/

相关文章:

android - 清除Android中所有数据库SQL表

android - ORMLITE 按另一个表中的列排序

android - 将 ForeignCollection 转换为 ArrayList - ORMLite、Gson 和 Android

java - 域类中的 ForeignCollection 初始化

java - 添加异步任务功能?

android - Robolectric:使用 ormlite 进行测试

java - 获取 map 键的数组

java - 命令行程序延迟到默认文本编辑器

java - 在 Java 中获取 URL 响应抛出异常

java - 使用 getColumnDisplaySize() 来保持整洁?