From 607a8f1cbe1bc0512b86787aadf46ecb17618f6c Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Thu, 22 Jun 2023 09:17:45 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E6=B7=BB=E5=8A=A0=20IDialect=20?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatisflex/codegen/dialect/IDialect.java | 66 ++++++++++++++----- 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/IDialect.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/IDialect.java index 97cad28b..231d0155 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/IDialect.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/IDialect.java @@ -1,17 +1,17 @@ -/** - * Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com). - *
- * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - *
- * http://www.apache.org/licenses/LICENSE-2.0 - *
- * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. +/* + * Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com). + *
+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *
+ * http://www.apache.org/licenses/LICENSE-2.0 + *
+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.mybatisflex.codegen.dialect; @@ -24,8 +24,14 @@ import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; +/** + * 方言接口。 + */ public interface IDialect { + /** + * 默认方言。 + */ IDialect DEFAULT = new JdbcDialect() { @Override String forBuildColumnsSql(String schema, String tableName) { @@ -33,7 +39,9 @@ public interface IDialect { } }; - + /** + * MySQL 方言。 + */ IDialect MYSQL = new JdbcDialect() { @Override String forBuildColumnsSql(String schema, String tableName) { @@ -41,7 +49,9 @@ public interface IDialect { } }; - + /** + * Oracle 方言。 + */ IDialect ORACLE = new JdbcDialect() { @Override public String forBuildColumnsSql(String schema, String tableName) { @@ -54,10 +64,32 @@ public interface IDialect { } }; + /** + * Sqlite 方言。 + */ IDialect SQLITE = new SqliteDialect(); - + /** + * 构建表和列的信息。 + * + * @param table 存入的表对象 + * @param globalConfig 全局配置 + * @param dbMeta 数据库元数据 + * @param conn 连接 + * @throws SQLException 发生 SQL 异常时抛出 + */ void buildTableColumns(Table table, GlobalConfig globalConfig, DatabaseMetaData dbMeta, Connection conn) throws SQLException; + /** + * 获取表的描述信息。 + * + * @param dbMeta 数据库元数据 + * @param conn 连接 + * @param schema 模式 + * @param types 结果集类型 + * @return 结果集 + * @throws SQLException 发生 SQL 异常时抛出 + */ ResultSet getTablesResultSet(DatabaseMetaData dbMeta, Connection conn, String schema, String[] types) throws SQLException; + }