九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
通過(guò)JDBC的DatabaseMetaData獲取數(shù)據(jù)庫(kù)元數(shù)據(jù)

1.      在項(xiàng)目src目錄下創(chuàng)建jdbc.properties文件

內(nèi)容:

dbName=JMJL

className=oracle.jdbc.driver.OracleDriver

url=jdbc:oracle:thin:@168.9.202.49:1521:test

user=TEST

password=TEST


2.      寫一個(gè)jdbc處理通用的簡(jiǎn)單處理工具類JdbcByPropertiesUtil 

參照《JDBC獲取連接、關(guān)閉連接的簡(jiǎn)單工具類2》,

地址:http://blog.csdn.net/hu_shengyang/article/details/7861187


3.      下面就是一段獲取數(shù)據(jù)庫(kù)元數(shù)據(jù)的示例代碼:

  1. package com.adam.test.entity;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DatabaseMetaData;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.util.ArrayList;  
  8. import java.util.HashMap;  
  9. import java.util.List;  
  10. import java.util.Map;  
  11. import java.util.Properties;  
  12.   
  13. import com.adam.dev.utils.JdbcByPropertiesUtil;  
  14.   
  15. public class TestDatabaseMetaData {  
  16.     private JdbcByPropertiesUtil jbpu = JdbcByPropertiesUtil.getInstance();  
  17.       
  18.     public JdbcByPropertiesUtil getJbpu() {  
  19.         return jbpu;  
  20.     }  
  21.       
  22.     public void setJbpu(JdbcByPropertiesUtil jbpu){  
  23.         this.jbpu = jbpu;  
  24.     }  
  25.       
  26.     public Properties getProperties(){  
  27.         Properties pros = JdbcByPropertiesUtil.readPropertiesFile();  
  28.         return pros;  
  29.     }  
  30.   
  31.     /** 
  32.      * 讀取配置文件jdbc.properties中的數(shù)據(jù)庫(kù)名稱 
  33.      * @return 
  34.      * @throws Exception 
  35.      */  
  36.     public String getDataSourceName()throws Exception{  
  37.         Properties pros = this.getProperties();  
  38.         String dbName = pros.get("dbName").toString();  
  39.         return dbName;  
  40.     }  
  41.       
  42.     /** 
  43.      * 獲取數(shù)據(jù)庫(kù)中的表名稱與視圖名稱 
  44.      * @return 
  45.      */  
  46.     public List getTablesAndViews()throws Exception{  
  47.         Connection conn = jbpu.getConnection();  
  48.         ResultSet rs = null;  
  49.         List list = new ArrayList();  
  50.         try {  
  51.             Properties pros = this.getProperties();  
  52.             String schema = pros.get("user").toString();  
  53.             DatabaseMetaData metaData = conn.getMetaData();  
  54.             rs = metaData.getTables(null, schema, null, new String[]{"TABLE","VIEW"});  
  55.             while(rs.next()){  
  56.                 String tableName = rs.getString("TABLE_NAME");  
  57.                 list.add(tableName);  
  58.             }  
  59.         } catch (SQLException e) {  
  60.             e.printStackTrace();  
  61.         } finally{  
  62.             jbpu.close(rs, null, conn);  
  63.         }  
  64.         return list;  
  65.     }  
  66.       
  67.     /** 
  68.      * 利用表名和數(shù)據(jù)庫(kù)用戶名查詢出該表對(duì)應(yīng)的字段類型 
  69.      * @param tableName 表名 
  70.      * @return 
  71.      * @throws Exception 
  72.      */  
  73.     public String generateBean()throws Exception{  
  74.         Connection conn = jbpu.getConnection();  
  75.         ResultSet rs = null;  
  76.         String strJavaBean = "";  
  77.         String tableName = this.getDataSourceName();  
  78.         try{  
  79.             Properties pros = this.getProperties();  
  80.             String schema = pros.get("user").toString();  
  81.             DatabaseMetaData metaData = conn.getMetaData();  
  82.             rs = metaData.getColumns(null, schema, tableName, null);  
  83.             Map map = new HashMap();  
  84.             while(rs.next()){  
  85.                 String columnName = rs.getString("COLUMN_NAME");//列名  
  86.                 String dataType  = rs.getString("DATA_TYPE");//字段數(shù)據(jù)類型(對(duì)應(yīng)java.sql.Types中的常量)  
  87.                 String typeName = rs.getString("TYPE_NAME");//字段類型名稱(例如:VACHAR2)  
  88.                 map.put(columnName, dataType+":"+typeName);  
  89.             }  
  90.               
  91.             // 其它生成javaBean的相關(guān)操作  
  92.               
  93.         }catch(Exception e){  
  94.             e.printStackTrace();  
  95.         }finally{  
  96.             jbpu.close(rs, null, conn);  
  97.         }  
  98.         return strJavaBean;  
  99.     }  
  100.       
  101. }  

這只是一些簡(jiǎn)單常用的jdbc元數(shù)據(jù)的獲取方式,如果需要更加深入請(qǐng)參考java api。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JDBC的那點(diǎn)事之DatabaseMetaData之獲取表的所有列名
Oracle通過(guò)DatabaseMetaData從Oracle中獲取字段的注釋
jdbc元數(shù)據(jù)入門-1(DatabaseMetaData)
用JAVA從數(shù)據(jù)庫(kù)中讀出字段及內(nèi)容
請(qǐng)教JDBC怎么連接ORACLE數(shù)據(jù)庫(kù)
JDBC板塊精華整理20051226
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服