我不是 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
是ConnectionSource
使用JDBC与数据库对话的接口的实现。还有一个AndroidConnectionSource
在 AndroidOS 下使用直接数据库调用。
令人震惊的ConnectionSource
是,它是数据库连接的来源。您可以通过查看其 javadocs来了解各种方法。最常用的方法是:
getReadOnlyConnection()
、getReadWriteConnection()
和releaseConnection
。这本身不会做任何远程处理。它允许 JDBC 执行与数据库服务器的实际连接和远程处理,无论是本地还是远程。
该Dao
界面提供了对数据库执行所有操作的工具。它使用ConnectionSource
获取到数据库的连接,执行操作(插入、删除、更新、选择),然后释放数据库连接。
现在我仍然不完全理解的是 DAO 和 JdbcConnectionSource 与我的服务器的交互。应用程序 DAO 是否生成完全“编译”的 SQL 语句并将其分派给应用程序 ConnectionSource 以传输到主机?
不会。ORMLite 生成执行操作所必需的 SQL,它从 获取到数据库的连接ConnectionSource
,它编译 SQL 并使用连接设置任何参数,它使用连接执行语句,处理结果,然后释放连接。