Skip to content

Commit

Permalink
chore(demo): 提供方便高效的metadata读取操作方法示例。
Browse files Browse the repository at this point in the history
close #59 , #60
  • Loading branch information
CarmJos committed Aug 16, 2022
1 parent 0230c77 commit 5e41e21
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions demo/src/main/java/EasySQLDemo.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
import cc.carm.lib.easysql.api.util.UUIDUtil;
import org.jetbrains.annotations.TestOnly;

import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;

@TestOnly
@SuppressWarnings("all")
Expand Down Expand Up @@ -157,4 +159,22 @@ public void sqlInsert(SQLManager sqlManager) {
}
}

public void metadata(SQLManager sql) {

// 操作数据库元数据,直接返回结果。
CompletableFuture<Boolean> roFuture = sql.fetchMetadata(DatabaseMetaData::isReadOnly);
CompletableFuture<Integer> maxColumnFuture = sql.fetchMetadata(DatabaseMetaData::getMaxColumnsInSelect);

// 操作有 ResultSet 元数据。该方法会自动关闭ResultSet。
CompletableFuture<Boolean> tableExists = sql.fetchMetadata(
meta -> meta.getTables(null, null, "表名", new String[]{"TABKE"}),
resultSet -> resultSet.next()
);

// SQLManager附带了几个常用元数据的获取方法。
CompletableFuture<Boolean> tableExists2 = sql.fetchTableMetadata("表名").validateExist();
CompletableFuture<Boolean> columnExists = sql.fetchTableMetadata("表名").isColumnExists("字段名");

}

}

0 comments on commit 5e41e21

Please sign in to comment.