数据库(MYSQL)之元数据

1.数据库中的元数据

(1) 什么是数据元数据?
元数据(MetaData),是指定义数据结构的数据。那么数据库元数据就是指定义数据库各类对象结构的数据。 例如数据库中的数据库名,表明, 列名、用户名、版本名以及从SQL语句得到的结果中的大部分字符串是元数据
(2)数据库元数据的作用
在应用设计时能够充分地利用数据库元数据
深入理解了数据库组织结构,再去理解数据访问相关框架的实现原理会更加容易。
(3)如何获取元数据
在我们前面使用JDBC来处理数据库的接口主要有三个,即Connection,PreparedStatement和ResultSet这三个,而对于这三个接口,还可以获取不同类型的元数据,通过这些元数据类获得一些数据库的信息。下面将对这三种类型的元数据对象进行各自的介绍并通过使用MYSQL数据库进行案例说明

2 数据库元数据

2.1 概述

数据库元数据(DatabaseMetaData):是由Connection对象通过getMetaData方法获取而来,主要封装了是对数据库本身的一些整体综合信息,例如数据库的产品名称,数据库的版本号,数据库的URL,是否支持事务等等。
以下有一些关于DatabaseMetaData的常用方法:

getDatabaseProductName:获取数据库的产品名称
getDatabaseProductName:获取数据库的版本号
getUserName:获取数据库的用户名
getURL:获取数据库连接的URL
getDriverName:获取数据库的驱动名称
driverVersion:获取数据库的驱动版本号
isReadOnly:查看数据库是否只允许读操作
supportsTransactions:查看数据库是否支持事务

代码示例:
基础类:MetaDataBase

package com.shunli.autocodeutils.metadate;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

/**
 * @author shunli
 * @描述:
 * @create 2020/2/16
 * @since 1.0.0
 */
public class MetaDataBase {
   
    private static String userName = "root";
    private static String password = "root";
    private String tableName = "";

    //这里用的的是mysql-connector-java-8.0.19版本,所以driver和url跟老版本不同
    private static String driver = "com.mysql.cj.jdbc.Driver";
    private static String url = "jdbc:mysql://127.0.0.1:3306/[tableName]?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT";

    public MetaDataBase() {
   
        url = url.replace("[tableName]", tableName);
    }

    public MetaDataBase(String tableName) {
   
        this.tableName = tableName;
        url = url.replace("[tableName]", tableName);
    }

    /**
     * 获取连接
     * @return
     * @throws Exception
     */
    public Connection getConnection() throws Exception {
   
        //获取数据库的备注信息
        Properties properties = new Properties();
        //设置连接属性,使得可获取到表的REMARK(备注)
        properties.put("remarksReporting","true");
        properties.put("user",userName);
        properties.put("password",password);

        //注册驱动
        Class.forName(driver)
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值