3 대 메타 데이터 -- DatabaseMetaData, ParameterMetaData, ResultSetMetaData
4673 단어 Jdbc 메타 데이터
세 개의 메타 데 이 터 는 뒤의 코드 에서 설명 할 것 이다.우선 모든 메타 데이터 의 역할 을 이해한다.
두 번 째 메타 데이터 의 역할: 자리 차지 문자 의 개수 세 번 째 메타 데 이 터 를 얻 을 수 있 습 니 다. 결과 가 집 중 된 열 에 대한 정보 (열 이름, 열의 값 유형, 클래스 의 개수 등) 를 얻 을 수 있 습 니 다. 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));
}
//
}
}