通过JDBC的DatabaseMetaData获取数据库元数据
来源:互联网 发布:澳洲留学知乎 编辑:程序博客网 时间:2024/06/05 18:31
1. 在项目src目录下创建jdbc.properties文件
内容:
dbName=JMJL
className=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@168.9.202.49:1521:test
user=TEST
password=TEST
2. 写一个jdbc处理通用的简单处理工具类JdbcByPropertiesUtil
参照《JDBC获取连接、关闭连接的简单工具类2》,
地址:http://blog.csdn.net/hu_shengyang/article/details/7861187
3. 下面就是一段获取数据库元数据的示例代码:
package com.adam.test.entity;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Properties;import com.adam.dev.utils.JdbcByPropertiesUtil;public class TestDatabaseMetaData {private JdbcByPropertiesUtil jbpu = JdbcByPropertiesUtil.getInstance();public JdbcByPropertiesUtil getJbpu() {return jbpu;}public void setJbpu(JdbcByPropertiesUtil jbpu){this.jbpu = jbpu;}public Properties getProperties(){Properties pros = JdbcByPropertiesUtil.readPropertiesFile();return pros;}/** * 读取配置文件jdbc.properties中的数据库名称 * @return * @throws Exception */public String getDataSourceName()throws Exception{Properties pros = this.getProperties();String dbName = pros.get("dbName").toString();return dbName;}/** * 获取数据库中的表名称与视图名称 * @return */public List getTablesAndViews()throws Exception{Connection conn = jbpu.getConnection();ResultSet rs = null;List list = new ArrayList();try {Properties pros = this.getProperties();String schema = pros.get("user").toString();DatabaseMetaData metaData = conn.getMetaData();rs = metaData.getTables(null, schema, null, new String[]{"TABLE","VIEW"});while(rs.next()){String tableName = rs.getString("TABLE_NAME");list.add(tableName);}} catch (SQLException e) {e.printStackTrace();} finally{jbpu.close(rs, null, conn);}return list;}/** * 利用表名和数据库用户名查询出该表对应的字段类型 * @param tableName 表名 * @return * @throws Exception */public String generateBean()throws Exception{Connection conn = jbpu.getConnection();ResultSet rs = null;String strJavaBean = "";String tableName = this.getDataSourceName();try{Properties pros = this.getProperties();String schema = pros.get("user").toString();DatabaseMetaData metaData = conn.getMetaData();rs = metaData.getColumns(null, schema, tableName, null);Map map = new HashMap();while(rs.next()){String columnName = rs.getString("COLUMN_NAME");//列名String dataType = rs.getString("DATA_TYPE");//字段数据类型(对应java.sql.Types中的常量)String typeName = rs.getString("TYPE_NAME");//字段类型名称(例如:VACHAR2)map.put(columnName, dataType+":"+typeName);}// 其它生成javaBean的相关操作}catch(Exception e){e.printStackTrace();}finally{jbpu.close(rs, null, conn);}return strJavaBean;}}
这只是一些简单常用的jdbc元数据的获取方式,如果需要更加深入请参考java api。
- 通过JDBC的DatabaseMetaData获取数据库元数据
- 通过JDBC的DatabaseMetaData获取数据库元数据
- JDBC 获取元数据DatabaseMetaData
- 通过JDBC获取数据库表元数据
- 通过DatabaseMetaData对象获得数据库元数据信息
- JDBC获取数据库的元数据信息
- JDBC之通过DatabaseMetaData对象了解数据库的信息
- JDBC操作元数据示例-- DatabaseMetaData接口
- JDBC元数据操作-- DatabaseMetaData接口详解
- JDBC通过DatabaseMetaData对象了解数据库信息
- JDBC通过DatabaseMetaData对象了解数据库信息
- jdbc获取数据库元数据的四个接口
- OpenJDK源码研究笔记(十二):JDBC中的元数据,数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData),结果集元数据(ResultSetMetaDa
- J2EE --- JDBC获取数据库元数据信息
- JDBC元数据操作(一)-- DatabaseMetaData接口详解
- JDBC元数据操作(一)-- DatabaseMetaData接口详解
- JDBC元数据操作(一)-- DatabaseMetaData接口详解
- JDBC元数据操作(一)-- DatabaseMetaData接口详解
- Epson LQ-630K打印机设置
- XMLWebService开发
- 【hdu】 Seaside (Floyd)注意初始化
- s3c6410 uboot代码分析
- android.database.sqlite.SQLiteException: database is locked
- 通过JDBC的DatabaseMetaData获取数据库元数据
- Hibernate二级缓存调用
- prototype.js教程及prototype中文手册
- Eclipse解决中文乱码
- 代码风格
- 代码审查
- Troubleshooting the Tracking Code
- Robotium测试——API介绍
- 架设个Windows Media Encoder做网络电台