# ob-tools **Repository Path**: HelloPole/ob-tools ## Basic Information - **Project Name**: ob-tools - **Description**: ob-tools - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-19 - **Last Updated**: 2026-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ob-tools Spring Boot Web:多数据源(配置在 jar 外)、表结构查询 + FreeMarker 物化视图 SQL、SQL 快速查询页。 ## 数据源配置(仅此一处:config/db.properties,jar 外,重启生效) **重要**:`db.properties` 请用 **UTF-8** 保存(IDEA 右下角可切换编码),否则中文 `label` 会乱码。 1. 在 **jar 所在目录** 下创建目录 `config/`(与 `ob-tools.jar` 同级)。 2. 复制示例并修改: ```bash cp config/db-example.properties config/db.properties ``` 3. 编辑 `config/db.properties`,按 **数据源 id** 增加配置(id 即接口里的 `type`,如 `brand`、`regulate`、`mydb`): ```properties # 数据源 brand ob.datasources.brand.jdbc-url=jdbc:mysql://host:3306/db1?useUnicode=true&characterEncoding=utf8 ob.datasources.brand.username=root ob.datasources.brand.password=secret ob.datasources.brand.driver-class-name=com.mysql.cj.jdbc.Driver ob.datasources.brand.schema=db1 ob.datasources.brand.label=品牌库 # 数据源 regulate ob.datasources.regulate.jdbc-url=jdbc:mysql://host:3306/db2?... ob.datasources.regulate.username=root ob.datasources.regulate.password=secret ob.datasources.regulate.schema=db2 ob.datasources.regulate.label=监管库 # 新增数据源,重启后即可在页面与接口中使用 ob.datasources.mydb.jdbc-url=jdbc:mysql://host:3306/db3?... ob.datasources.mydb.username=root ob.datasources.mydb.password=secret ob.datasources.mydb.schema=db3 ob.datasources.mydb.label=我的库 ``` - **schema**:查 `information_schema` 时使用的库名;不配则用 URL 中的库。 - **label**:页面「数据源」下拉展示名;不配则显示 id。 4. 启动应用(工作目录需为 jar 所在目录,以便读取 `./config/db.properties`): ```bash java -jar ob-tools.jar ``` 开发时在 **项目根目录** 同样放置 `config/db.properties`,IDE 运行会从 `./config/db.properties` 加载。 ## 接口 - `GET /ob/datasources`:返回已配置数据源列表(供页面下拉)。 - `GET /ob/{type}/mv/{tableName}/create`:`type` 为配置中的数据源 key。 - `POST /ob/sql/execute`:body `{ "type": "...", "sql": "..." }`。 ## 物化视图模板 - 优先使用 `templates/mv-create-{type}.ftl`(与数据源 id 一致)。 - 若不存在,回退 `mv-create-default.ftl`。 ## 页面 - 首页:`http://localhost:8080` - 快速查询:`http://localhost:8080/sql.html`(数据源列表来自 `/ob/datasources`) ## 构建 ```bash mvn clean package -DskipTests ```