3 대 메타 데이터 -- DatabaseMetaData, ParameterMetaData, ResultSetMetaData

4673 단어 Jdbc 메타 데이터
첫 번 째 메타 데 이 터 는 다른 글 에서 언급 되 었 습 니 다.http://blog.csdn.net/dada111111111/article/details/51326837 여 기 는 진술 하지 않 겠 습 니 다.
세 개의 메타 데 이 터 는 뒤의 코드 에서 설명 할 것 이다.우선 모든 메타 데이터 의 역할 을 이해한다.
두 번 째 메타 데이터 의 역할: 자리 차지 문자 의 개수 세 번 째 메타 데 이 터 를 얻 을 수 있 습 니 다. 결과 가 집 중 된 열 에 대한 정보 (열 이름, 열의 값 유형, 클래스 의 개수 등) 를 얻 을 수 있 습 니 다. OR 에서 맵 (or 가 무엇 입 니까? (ORM)O = object, R = relation, M = mapping – 즉 관계 표를 실체 류 javaBean 에 비 추어 데 이 터 를 지속 적 으로 저장 하고 데이터베이스 의 부담 을 덜 어 주 는 것 입 니 다.) 에서 열의 이름과 속성 유형 을 얻 고 자바 빈 에 반사 할 수 있 습 니 다.
간단 한 코드 예제:
package com.test.metaDataDemo;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import org.junit.Test;
import com.mystore.utils.JdbcUtils;

//         demo
/* *   c3p0    *       * 1.DataBaseMetaData--      * 2.ParemeterMetaData--     --                    * 3.ResultSetMetaData--      --        ,           */
public class metaDataDemo {
    /********************   1*********************/
    //       
    @Test
    public void testMetaData()throws Exception{
        //    
        Connection conn = JdbcUtils.getConnection();
        //     
        DatabaseMetaData metaData = conn.getMetaData();
        //  url
        String string = metaData.getURL();
        System.out.println(string);
        //getUserName
        System.out.println("userName:"+metaData.getUserName());
    } 
    /********************   2*********************/
    //       
    @Test
    public void testParameterMetaData() throws Exception{
        Connection conn =  JdbcUtils.getConnection();
        //   
        PreparedStatement  stmt = conn.prepareStatement("select * from users where userName=?");
        //     
        ParameterMetaData pmd = stmt.getParameterMetaData();
        //                   
        System.out.println(pmd.getParameterCount());
    }
    /********************   *********************/
    @Test
    public void testResultSetMetaData() throws Exception{
        Connection conn =  JdbcUtils.getConnection();
        //   
        PreparedStatement  stmt = conn.prepareStatement("select * from users ");
        //     
        ResultSet rs = stmt.executeQuery();
        //        
        ResultSetMetaData rData = rs.getMetaData();
        //      
        int columnCount = rData.getColumnCount();
        System.out.println("     :"+columnCount);
        //      
        for (int i = 1; i < columnCount+1; i++) {
            System.out.println("     :"+rData.getColumnName(i)); 
            }
        //                    
        }

}

좋은 웹페이지 즐겨찾기