首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DatabaseMetaData的用法(转)

参数:schema:数据库名,对于oracle来说就用户名 参数:tablename:表名称 参数:type :表的类型(TABLE | VIEW) 注意:在使用过程中,参数名称必须使用大写的。...3、数据库支持不支持的功能。 4、架构、编目、表、列和视图等。 通过调用DatabaseMetaData的各种方法,程序可以动态的了解一个数据库。...上面介绍的只是几个常用的方法,这个类中还有很多方法,可以到jdk的帮助文档中去查看类java.sql.DatabaseMetaData。 这个类中还有一个比较常用的方法就是获得表的信息。...通 过getTables()方法返回一个表的信息的结果集。这个结果集包括字段有:TABLE_CAT表所在的编目。TABLE_SCHEM表所在的模 式,TABLE_NAME表的名称。...table)这两个方法中的参数的含义和上面的介绍的是相同的。凡是pattern的都是可以用通配符匹配的。getColums()返回 的是结果集,这个结果集包括了列的所有信息,类型,名称,可否为空等。

59640

ResultSet相关ResultSetMetaData详细

从本质上讲,它是对一个一般宽度和未知长度的表的一种抽象。几乎所有的方法和查询都将数据作为 ResultSet 返回。ResultSet 包含任意数量的命名列,您可以按名称访问这些列。...getTables(catalog, schema,tableNames, columnNames) 返回表名与 tableNames 相符而且列名与 columnNames 相符的所有表的说明。...获取有关表的信息 您可以使用 DataBaseMetaData 的 getTables() 方法来获取数据库中表的信息。...这个方法有如下4个 String 参数: results =dma.getTables(catalog, schema, tablemask, types[]); 其中参数的意义是: Catalog...types[] 这是描述您要检索的表的类型的 String 数组。数据库中通常包括许多用于内部处理的表,而对作为用户的您没什么价值。如果它是空值,则您会得到所有这些表。

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    新生命开发团队Orm框架XCode v3.5.2009.0714源码发布(圣诞随心大礼包)

    比如管理员实体类,在实体类的静态构造函数中,检查管理员表的数据,如果数据行数为0,表明没有任何数据,这个时候,代码将创建一个用户名和密码都是admin的默认管理员,并写入数据表。...* 修改Entity,Meta.Count返回表的总记录数(快速),FindCount()使用普通方法查询真实记录数 * * v5.5.2010.0903...BeginCheck当启用检查时改为同步检查Check,保证数据库操作前先完成一次数据架构检查 * 唯一键为自增且参数小于等于0时,返回空 *...v4.7.2010.0130 数据架构中识别表名时不应该区分大小写 * Entity中增加MakeCondition方法,以便于构造where语句 * *...* v4.0.2009.1011 增加实体类集合EntityList,Entity的所有FindAll返回EntityList * 增强数据架构功能,支持Access

    1.6K70

    MySQL---数据库从入门走向大神系列(十一)-Java获取数据库结果集的元信息、将数据表写入excel表格

    (String catalog, String schemaPattern, String tableNamePattern, String[] types)方法的参数解析: catalog -类别名称...: 它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null则表示该类别名称不应该用于缩小搜索范围 schemaPattern - 模式名称的模式: 它必须与存储在数据库中的模式名称匹配...;该参数为"" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 tableNamePattern -表名称模式: 它必须与存储在数据库中的表名称匹配 types...- 要包括的表类型所组成的列表,必须取自从 getTableTypes()返回的表类型列表;null 表示返回所有类型 这样就遍历出来了。...book.createSheet("表一"); HSSFRow row4 = sheet.createRow(3);//行数为下标加1 //该方法的参数值是从0开始的-

    2K10

    我也能写数据库 —— 单表查询

    这里我们的目标是: 数据在一个自己可控的位置,本文写在一个Java文件的静态块里 可以执行一个简单查询并返回数据 model.json 我习惯gradle,所以起手构建一个空白gradle项目,添加依赖...首先继承AbstractSchema,实际上需要复写的getTableMap就是这个方法,它的职责就是要提供一个表名和表的映射表,为了实现这个,我们需要做一些处理,当然本例里是使用了一个Storage类...,来模拟存储表结构信息,以及数据的,这里的表结构以及其他信息都不需要外接再提供额外辅助,如果是使用其他类型的,就可能需要根据自己的实际需求,扩展operand属性,来携带必要参数进来了。...Storage直接提供了getTables方法,可以直接从里面获取到当前存在的表,这样直接将Storage内的表转化成InMemoryTable类就可以了。...其结构还是比较复杂得,为了减少本例中类的个数,避免复杂得代码结构,吓跑初学者,所以,采用了内部类嵌套的形式,含义还是比较明确的。 主要就是实现current和moveNext方法。

    69220

    SpringBoot实现用户统一管理与单点登陆

    前言 最近在开发产品的过程中,需要将业务功能拆分成独立子系统,既可以单独使用也可以集成部署,这里就需要对框架进行扩展,支持用户统一管理与单点登陆。...我们的基础框架使用redis实现token认证,所以只需要所有子系统共享redis数据就可以实现单点登陆,主要的难点是sso统一用户管理,我们这里选择的是通过监听sso平台组织架构的变动分发同步到各个子系统...方案设计 后端设计 后端设计如下图所示,主要包含应用/服务注册,组织架构同步,日志管理三大块 前端设计 前端设计如下图所示,主要包括cookie跨域共享,鉴权流程 方案实现 后端实现 注:表结构展示省略主键...quartz定时任务扫描变动的sql来进行增量同步,因为可能涉及到多个平台同时同步,就需要考虑执行效率,这里使用了spring中的异步任务功能 1.启动类添加注解@EnableAsync 2.异步请求方法添加注解...@Async 3.因为执行的是扫描任务,扫描所有未同步的sql语句,所以单次任务必须等待所有平台同步完成后再执行下一次扫描,异步任务需要返回CompletableFuture对象,并在所有任务执行代码后加上

    34010

    学习笔记:一个MySQL实例有多个Activiti数据库问题

    activiti7的数据库,所以我这次又新建了一个activiti6的数据库,然后在启动的时候没有自动创建表,而是直接进行了activiti 表的查询,并报了如下的错误 org.apache.ibatis.exceptions.PersistenceException...,应该要走else的逻辑,怎么会进到if里面呢,我又继续跟了 isEngineTablePresent 这个方法,很简短,就是看数据库里面表是否存在 public boolean isEngineTablePresent...() { return isTablePresent("ACT_RU_EXECUTION"); } 继续看 isTablePresent 方法,问题就出在下面这段代码上了,这个tables返回有内容...,接着调用父类的 com.zaxxer.hikari.pool.ProxyDatabaseMetaData#getTables 方法. public ResultSet getTables(String...该方法实现在父类 com.mysql.cj.jdbc.DatabaseMetaData 中 protected String getDatabase(String catalog, String schema

    1.9K20

    数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 改写

    1.4.x及之前版本,SQL改写是在SQL路由之前完成的,在1.5.x中调整为SQL路由之后,因为SQL改写可以根据路由至单库表还是多库表而进行进一步优化。 ?...SQL解析器在 SQL解析过程中,很重要的一个目的是标记需要SQL改写的部分,也就是 SQLToken。 ?...中没有自增列 order_id TableToken 表标记对象 查询列的表别名: SELECT o.order_id 的 o 查询的表名: SELECT*FROM t_order 的 t_order...*FROM t_order o TableToken 为查询列前的表别名 o 时返回结果: ? TableToken 为表名 t_order 时返回结果: ?...// SQLRewriteEngine.java /** * 获得(笛卡尔积表路由组里的路由表单元逻辑表 和 与其互为BindingTable关系的逻辑表)对应的真实表映射(逻辑表需要在 SQL 中存在

    1.6K60

    数据库之-元数据 DatabaseMetaData 初学

    获取数据库的所有表:(以MySQL和Oracle为例,其他类型的数据库接触不过,不做解释) Connection接口中提供了DatabaseMetaData接口: 提供:getTables()方法,该方法需要传进...4个参数: 第一个是数据库名称,对于MySQL,则对应相应的数据库,对于Oracle来说,则是对应相应的数据库实例,可以不填,也可以直接使用Connection的实例对象中的getCatalog()方法返回的值填充...第三个是表名称,一般情况下如果要获取所有的表的话,可以直接设置为null,如果设置为特定的表名称,则返回该表的具体信息。.../** * 检索给定目录中可用表的描述。 * 只有与目录、模式、表匹配的表描述 * 返回名称和类型标准。...返回所有索引; * approximate - 该参数为true时,允许结果是接近的数据值或这些数据值以外的值;该参数为 false时,要求结果是精确结果;

    10000

    GraphQL API 漏洞挖掘基础学习

    查找GraphQL端点 我们测试GraphQLAPI之前,需要找到端点,由于GraphQL对所有请求都使用相同的端点,所以找到端点很有价值。...4、请求方法 找到GraphQL端点最好的方式,就是bp设置post请求仅接收application/json方法。 利用不安全参数 如果API使用参数可以直接访问对象,就可能收到访问控制漏洞的影响。...用户只需要提供正确的参数,就可以访问到一些未授权信息,成为IDOR 如何发现GraphQL架构信息 最好的方式是使用自省查询,自省是一个内置的GraphQL函数,可以让我们查询服务器以获取相关的架构信息...如何使用自省 要使用自省来发现架构信息,需要查询该__schema字段。这个字段在所有查询的类型上都可用。...许多端点不接受这些指令作为自省查询的一部分,通过删除它们,通常可以更成功地进行自省。

    24210

    JDBC API 4.2(十):DatabaseMetaData 接口源码分析「建议收藏」

    1、简介 DatabaseMetaData 接口提供了获取数据库元数据的方法,例如数据库名称,数据库版本,驱动程序名称,表总数,视图总数等。...另外,驱动程序可以在DBMS提供的功能之上实现功能。 该接口中方法返回的信息适用于特定驱动程序和特定DBMS协同工作的功能。 一些 DatabaseMetaData 方法采用的参数是字符串模式。...这些参数都具有诸如fooPattern之类的名称。 在模式字符串中,“%”表示匹配任何0个或多个字符的子字符串,“ _”表示匹配任何一个字符。 仅返回与搜索模式匹配的元数据条目。...如果将搜索模式参数设置为null,则将从搜索中删除该参数的条件。...检索满足指定条件的可用表的描述。

    50040

    数据库之元数据

    获取某数据库中的所有表信息 2.5 获取指定数据库表中的字段属性 3、参数元数据 3.1 获取预编译SQL语句中占位符参数的个数 4、 结果集元数据 ---- 1、数据库中的元数据 1.1 什么是数据库元数据...catch (Exception throwables) { throwables.printStackTrace(); } } 2.4 获取某数据库中的所有表信息...getTables 中的4个参数分别是: 参数 说明 catalog 数据库名称,null 就是所有数据库 schemaPattern 模式名称,在mysql中没什么特别意义,所以直接填 null ....tableNamePattern 表名,null 就是所有表 types[] 类型: TABLE:表 VIEW:视图 看看执行效果吧: 2.5 获取指定数据库表中的字段属性 @Test void...getColumns 参数一样的就是最后一个变成 列名,null就代表查找所有列。

    95810

    如何较方便给上百张数据库表添加表字段

    于是他问我有没有啥方法,能比较方便的实现这个需求,今天就来水一下这个话题 02需求分析 小伙伴的诉求在于方便的实现,那怎么实现方便这个诉求。...生成这个sql脚本的关键在于DatabaseMetaData这个类,这个类是啥?它是java.sql包中的类,利用它可以获取我们连接到的数据库的结构、存储等很多信息。.../** * 获取数据库下的所有数据库表名 * * @return Map> key为数据库名称,value为该数据库下的所有表名...DatabaseMetaData dbMetaData = getConnection().getMetaData(); //从元数据中获取到所有的表名...像这种大批量修改表结构的场景,是属于架构上的严重失误,理论上是不应该犯的。

    49030

    缓存查询(一)

    所有SQL调用都会创建缓存查询,无论是在ObjectScript例程中调用还是在类方法中调用。...从这些表中的任何一个清除缓存的查询都会将其从所有表中清除。从表的目录详细资料中,可以选择缓存的查询名称以显示高速缓存的查询详细资料,包括执行和显示计划选项。...清除与表关联的单个缓存查询或清除表的所有缓存查询将释放分配给这些缓存查询的编号。清除命名空间中的所有缓存查询会释放分配给缓存查询的所有编号,包括未引用表的缓存查询,以及保留但未分配的编号。...GetImplementationDetails()实例方法返回缓存的查询名称。...查看成功准备的结果。 缓存的查询名称也是由%SQL.Statement类的%Execute()实例方法(以及%CurrentResult属性)返回的结果集OREF的一个组件。

    1.2K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券