/*
* screw-core - 简洁好用的数据库表结构文档生成工具
* Copyright © 2020 SanLi (qinggang.zuo@gmail.com)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package cn.smallbun.screw.core.query.dm;
import static cn.smallbun.screw.core.constant.DefaultConstants.PERCENT_SIGN;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.stream.Collectors;
import javax.sql.DataSource;
import cn.smallbun.screw.core.exception.QueryException;
import cn.smallbun.screw.core.mapping.Mapping;
import cn.smallbun.screw.core.metadata.Column;
import cn.smallbun.screw.core.metadata.Database;
import cn.smallbun.screw.core.metadata.PrimaryKey;
import cn.smallbun.screw.core.query.AbstractDatabaseQuery;
import cn.smallbun.screw.core.query.dm.model.DmColumnModel;
import cn.smallbun.screw.core.query.dm.model.DmDatabaseModel;
import cn.smallbun.screw.core.query.dm.model.DmPrimaryKeyModel;
import cn.smallbun.screw.core.query.dm.model.DmTableModel;
import cn.smallbun.screw.core.util.Assert;
import cn.smallbun.screw.core.util.CollectionUtils;
import cn.smallbun.screw.core.util.ExceptionUtils;
import cn.smallbun.screw.core.util.JdbcUtils;
/**
* 达梦数据库查询
*
* @author SanLi
* Created by jincy@neusoft.com + qinggang.zuo@gmail.com / 2689170096@qq.com on 2020/9/17 17:40
*/
@SuppressWarnings("serial")
public class DmDataBaseQuery extends AbstractDatabaseQuery {
private final ConcurrentMap<String, List<DmTableModel>> tablesMap = new ConcurrentHashMap<>();
private static final String DM_QUERY_TABLE_SQL = ""
+ "select "
+ " ut.table_name TABLE_NAME, "
+ " utc.comments COMMENTS "
+ "from "
+ " user_tables ut "
+ "left join USER_TAB_COMMENTS utc "
+ "on "
+ " ut.table_name=utc.table_name ";
private static final String DM_QUERY_COLUMNS_SQL = ""
+ "select "
+ " ut.table_name TABLE_NAME , "
+ " uc.column_name COLUMN_NAME , "
//+ " case uc.data_type when 'INT' then uc.data_type when 'CLOB' then uc.data_type when 'BLOB' then uc.data_type when 'INTEGER' then uc.data_type else concat(concat(concat(uc.data_type, '('), uc.data_length), ')') end case AS COLUMN_TYPE , "
+ " case uc.data_type when 'CLOB' then uc.data_type when 'BLOB' then uc.data_type else concat(concat(concat(uc.data_type, '('), uc.data_length), ')') end case AS COLUMN_TYPE , "
+ " uc.data_length COLUMN_LENGTH , "
+ " uc.DATA_PRECISION DATA_PRECISION, "
+ " uc.DATA_SCALE DECIMAL_DIGITS, "
+ " case uc.NULLABLE when 'Y' then '1' else '0' end case NULLABLE,"
+ " uc.DATA_DEFAULT COLUMN_DEF, "
+ " ucc.comments REMARKS "
+ "from "
+ " user_tables ut "
+ "left join USER_TAB_COMMENTS utc "
+ "on "
+ " ut.table_name=utc.table_name "
+ "left join user_tab_columns uc "
+ "on "
+ " ut.table_name=uc.table_name "
+ "left join user_col_comments ucc "
+ "on "
+ " uc.table_name =ucc.table_name "
+ " and uc.column_name=ucc.column_name "
+ "where 1=1 ";
private static final String DM_QUERY_PK_SQL = "" + "SELECT "
+ "C.OWNER AS TABLE_SCHEM, "
+ "C.TABLE_NAME , "
+ "C.COLUMN_NAME , "
+ "C.POSITION AS KEY_SEQ , "
+ "C.CONSTRAINT_NAME AS PK_NAME "
+ "FROM "
+ " ALL_CONS_COLUMNS C, "
+ " ALL_CONSTRAINTS K "
没有合适的资源?快使用搜索试试~ 我知道了~
简洁好用的数据库表结构文档生成器
共204个文件
java:179个
properties:9个
xml:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 9 浏览量
2024-02-05
23:02:29
上传
评论
收藏 1.89MB ZIP 举报
温馨提示
在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是萌生了要自己写一个插件工具的想法,但由于自己前期在程序设计上没有很多造诣,且能力偏低,有想法并不能很好实现,随着工作阅历的增加,和知识的不断储备,终于在2020年的3月中旬开始进行编写,4月上旬完成初版,想完善差不多在开源,但由于工作太忙,业余时间不足,没有在进行完善,到了6月份由于工作原因、频繁设计和更改数据库、经常使用自己写的此插件、节省了很多时间,解决了很多问题 ,在仅有且不多的业余时间中、进行开源准备,于2020年6月22日,开源,欢迎大家使用、建议、并贡献。 关于名字,想一个太难了,好在我这个聪明的小脑瓜灵感一现,怎么突出它的小,但重要呢?从小就学过雷锋的螺丝钉精神,摘自雷锋日记:虽然是细小的螺丝钉,是个细微的小齿轮,然而如果缺了它,那整个的机器就无法运转了,慢说是缺了它,即使是一枚小螺丝钉没拧紧,一个
资源推荐
资源详情
资源评论
收起资源包目录
简洁好用的数据库表结构文档生成器 (204个子文件)
documentation_word.ftl 69KB
documentation_html.ftl 3KB
documentation_md.ftl 2KB
pojo_java.ftl 972B
.gitkeep 0B
.gitkeep 0B
Dm7JdbcDriver-16.jar 1.29MB
cachejdbc.jar 333KB
DmDataBaseQuery.java 15KB
OracleDataBaseQuery.java 12KB
SqlServerDataBaseQuery.java 11KB
PostgreSqlDataBaseQuery.java 10KB
Mapping.java 10KB
CacheDbDataBaseQuery.java 9KB
RunDocMojo.java 9KB
AbstractProcess.java 9KB
MariaDbDataBaseQuery.java 9KB
MySqlDataBaseQuery.java 9KB
Db2DataBaseQuery.java 9KB
DatabaseType.java 8KB
DataModelProcess.java 7KB
AbstractDatabaseQuery.java 6KB
ResultSetUtils.java 6KB
BeanUtils.java 5KB
PojoModelProcess.java 5KB
SqlServerColumnModel.java 5KB
OracleColumnModel.java 5KB
Configuration.java 5KB
DmColumnModel.java 5KB
Db2ColumnModel.java 5KB
JdbcUtils.java 5KB
PhoenixDataBaseQuery.java 5KB
VelocityTemplateEngine.java 5KB
FreemarkerTemplateEngine.java 5KB
PostgreSqlColumnModel.java 5KB
MySqlColumnModel.java 5KB
MariadbColumnModel.java 4KB
PhoenixColumnModel.java 4KB
PojoExecute.java 4KB
CacheDbColumnModel.java 4KB
ScrewException.java 4KB
ProduceException.java 4KB
BuilderException.java 4KB
Assert.java 4KB
QueryException.java 4KB
MySQLDocumentationBuilderTest.java 4KB
AbstractTemplateEngine.java 4KB
OracleDataBaseQueryTest.java 4KB
Db2DataBaseQueryTest.java 4KB
CacheDbDataBaseQueryTest.java 4KB
MariaDBDataBaseQueryTest.java 4KB
SqlServerDataBaseQueryTest.java 4KB
MySQLDataBaseQueryTest.java 4KB
PostgreSQLDataBaseQueryTest.java 3KB
PojoConfiguration.java 3KB
MappingUtils.java 3KB
PhoenixDocumentationBuilderTest.java 3KB
DefaultConstants.java 3KB
HigHgoDataBaseQuery.java 3KB
TypeDialect.java 3KB
HsqlDataBaseQuery.java 3KB
SqliteDataBaseQuery.java 3KB
H2DataBaseQuery.java 3KB
MariaDBDocumentationBuilderTest.java 3KB
OtherDataBaseQuery.java 3KB
TIDBDocumentationBuilderTest.java 3KB
OracleDocumentationBuilderTest.java 3KB
PostgreSQLDocumentationBuilderTest.java 3KB
Db2DocumentationBuilderTest.java 3KB
CacheDBDocumentationBuilderTest.java 3KB
SqlServerDocumentationBuilderTest.java 3KB
Properties.java 3KB
TypeDialectFactory.java 3KB
DocumentationExecute.java 3KB
FileUtils.java 3KB
EngineTemplateType.java 3KB
Column.java 3KB
FreeMarkerPojoEngine.java 3KB
DatabaseQuery.java 3KB
DatabaseQueryFactory.java 3KB
StringUtils.java 3KB
HumpNameStrategy.java 2KB
ColumnModel.java 2KB
EngineFileType.java 2KB
EngineFactory.java 2KB
AbstractExecute.java 2KB
MariadbTableModel.java 2KB
MySqlTableModel.java 2KB
CacheDbTableModel.java 2KB
MysqlTypeDialect.java 2KB
PostgreSqlTableModel.java 2KB
PhoenixlTableModel.java 2KB
ExceptionUtils.java 2KB
CollectionUtils.java 2KB
ClassUtils.java 2KB
FieldMethod.java 2KB
MariadbPrimaryKeyModel.java 2KB
PostgreSqlPrimaryKeyModel.java 2KB
MySqlPrimaryKeyModel.java 2KB
PhoenixPrimaryKeyModel.java 2KB
共 204 条
- 1
- 2
- 3
资源评论
博士僧小星
- 粉丝: 1711
- 资源: 5876
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功