有人可以解释一下我如何使用Jackcess来实现以下SQL查询的等价物吗?SELECT name FROM table WHERE id = 1SELECT name FROM table INNER JOIN table ON table.id = table2.id解决方法:Re:你的第一个查询(SELECT …...

有人可以解释一下我如何使用Jackcess来实现以下SQL查询的等价物吗?
SELECT name FROM table WHERE id = '1'
SELECT name FROM table INNER JOIN table ON table.id = table2.id
解决方法:
Re:你的第一个查询(SELECT … FROM tableName WHERE …)
在最简单的形式中,您可以使用主Jackcess页面here上“示例代码”下的“搜索具有特定列值的行”示例,即
Table table = DatabaseBuilder.open(new File("my.mdb")).getTable("MyTable");
Row row = CursorBuilder.findRow(table, Collections.singletonMap("a", "foo"));
if(row != null) {
System.out.println("Found row where 'a' == 'foo': " + row);
} else {
System.out.println("Could not find row where 'a' == 'foo'");
}
要遍历多个匹配的行,您可以执行类似的操作
Table table = DatabaseBuilder.open(new File("my.mdb")).getTable("MyTable");
Cursor cursor = CursorBuilder.createCursor(table);
while (cursor.findNextRow(Collections.singletonMap("a", "foo"))) {
Row row = cursor.getCurrentRow();
System.out.println(String.format(
"a='%s', SomeFieldName='%s'.",
row.get("a"),
row.get("SomeFieldName")));
}
或者,正如@jtahlborn在下面的评论中所建议的,
Table table = DatabaseBuilder.open(new File("my.mdb")).getTable("MyTable");
Cursor cursor = CursorBuilder.createCursor(table);
for (Row row : cursor.newIterable().addMatchPattern("a", "foo")) {
System.out.println(String.format(
"a='%s', SomeFieldName='%s'.",
row.get("a"),
row.get("SomeFieldName")));
}
Re:你的第二个查询(SELECT … FROM table1 INNER JOIN table2 ON …)
您可以使用一个for或while循环(类似于上面)来遍历一个表中的相关行,并使用内部for或while循环来遍历另一个(相关)表中的相关行.如果两个表在Access中具有现存的“关系”(也就是“外键约束”),则Jackcess具有可能有帮助的Joiner类,如here所述.
如果您需要进一步的帮助,您需要尝试为自己编写一些代码,然后ask a new question显示您尝试使用的代码以及您使用它的具体问题.
本文标题为:java – 简单SQL SELECT语句的Jackcess等价物


基础教程推荐
- 解决IntelliJ IDEA输出中文显示为问号问题的有效方法 2023-03-06
- SpringBoot事务不回滚的解决方案 2023-05-31
- Spring注解驱动之BeanFactoryPostProcessor原理解析 2023-06-05
- SpringBoot集成quartz实现定时任务详解 2023-03-21
- java – Spring Boot无法运行schema.sql,依赖于spring-cloud-starter-config 2023-10-30
- JSP静态导入与动态导入使用详解 2023-07-30
- SpringMVC实现获取请求参数方法详解 2023-06-01
- SpringBoot结合Redis配置工具类实现动态切换库 2023-04-06
- SpringBoot基于AbstractRoutingDataSource实现多数据源动态切换 2022-11-14
- 浅谈Thread.sleep(0)到底有什么用 2022-12-02