数据库查询

写入数据

其他用法

Misc

查询概念

开始前的概念

从数据库获取结果最直接的方式就是 SQL 查询。要使用 SqlMan Handle 执行查询,我们至少需要:

让我们逐一来看这些要点。

创建查询

我们假设查询语句已经准备好执行,它是一个纯 SQL 语句。当然,数据库连接也已经建立。然后我们创建一个新的 Sql 实例,将 conn 传递给构造函数,并将 SQL 语句传递给 input() 方法。

Map<String, Object> result = new Sql(conn).input("SELECT * FROM shop_address").query(); // fetch the first one

需要注意的是,input()方法接受 SQL 语句及其参数,但查询并不会立即执行,直到调用query()方法时才会执行。

目前我们还没有向查询传递任何参数。我们将在下一节讨论如何传递参数。

关于如何表示查询结果,可以分为两个部分:

SqlMan 对 JDBC ResultSet 进行了抽象封装,因为 ResultSet 的 API 使用起来比较繁琐。

因此,它提供了多种方式来访问查询或其他返回结果的语句所产生的列数据。

从返回值的结构来看,我们可以识别出几种类型:

这些类型对应 SqlMan 中的以下方法:

以下是完整示例:

Map<String, Object> result = new Sql(conn).input("SELECT * FROM shop_address").query(); // fetch the first one
int result = new Sql(conn).input("SELECT COUNT(*) AS total FROM shop_address").queryOne(int.class); // fetch the first one
List<Map<String, Object>> result = new Sql(conn).input("SELECT * FROM shop_address").queryList();

最后一个问题:用哪种格式来表示结果?

---- 我们现在将看到最简单的格式:Map(映射),在下一节中我们将介绍其他的格式。