6.反射及びJDBCメタデータによる共通の照会方法の作成(尚シリコンバレーノート)

1553 ワード

ResultSetMetaDataは、ResultSetを記述するメタデータ・オブジェクトです.つまり、結果セットに何列があるか、列名が何であるかを取得できます.
1.ResultSetMetaDataオブジェクトを取得し、ResultSetのgetMetaData()メソッドを呼び出す
2.ResultSetMetaDataの方法:
int getColumnCount():sql文に含まれる列
String getColumnLabel(int column):指定したカラムの別名を取得します.インデックスは1から始まります.
public static T select(Class clazz,String sql,Object...args) {
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    ResultSet resultSet=null;
    T entity=null;
    try {
	connection=getConnection();
	preparedStatement=connection.prepareStatement(sql);
	for(int i=0;i 
	if(resultSet.next()) {
	    Mapmap=new HashMap<>();
	    //4. , ResultSetMetaData Map 
	    for(int i=0;i0){
		// 
		entity=clazz.newInstance();
		//6. Map, clazz 
		for(Map.Entry entry:map.entrySet()) {
	    	    String fieldName=entry.getKey();
		    Object value=entry.getValue();
		    ReflectionUtils.setFieldValue(entity,fieldName, value);
		}
	    }
	}
    }catch(Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
    }finally {
	release(resultSet,preparedStatement,connection);
    }
    return entity;
}