PreparedStatementクエリで得られた結果セットを格納する方法--方法2:リストを使用する

3416 ワード

PreparedStatementクエリで得られた結果セットを格納する方法--方法2:リストを使用する
    前のブログに基づく:PreparedStatementクエリの結果セットを格納する方法--方法1:オブジェクト配列を使用する
として、第2の方法Listを用いてResultSetに格納した結果セットを示す
    ここではArrayListの関連メソッドを使用しますが、問題があれば以下でコメントしてください.ArrayListはListインタフェースの典型的な実装クラスであり,主な方法は以下add,sizeのいくつかを用いる.
    同様に、以下のコードもマッピングクラスDepartmentとリンクMySql操作に基づいています.これは私のjavaブログシリーズの前のいくつかの編で紹介されています.
    詳細コード:
package jdbcPrograms;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import commonDBConnection.ConnectToDataBase;

public class ResultSetGetContentsToListSec {
/*
 *                  ---       List 
 */
	public static void main(String[] args) {
		Connection  conn=ConnectToDataBase.getDataBaseConnection();
		
		String sqlQuery="SELECT id,deptName,deptDesc from tb_department WHERE deptDesc=?";
		PreparedStatement ppst=null;
		
		String strQuery="    ";
		
		try {
			ppst=conn.prepareStatement(sqlQuery);
			ppst.setString(1, strQuery);
		} catch (SQLException e) {
			System.out.println("              : "+e.getMessage());
		}
	
		ResultSet rs=null;
		
		try {
			rs=ppst.executeQuery();
		} catch (SQLException e) {
			System.out.println("           : "+e.getMessage());
		}
		
		
		int rRows=0;
		try {
			rs.last();
			rRows=rs.getRow();
			System.out.println("  : "+rRows);
		} catch (SQLException e1) {
			System.out.println("            : "+e1.getMessage());
		}

		List listDept=new ArrayList(rRows);
		
		try {
			//rs         ---               ,             ,              
			rs.beforeFirst();
		} catch (SQLException e1) {
			System.out.println("rs        : "+e1.getMessage());
		}
		
		//     ResultSet  
		try {
			
			
			//          ,          Department       --"  "      ---            
			Department dept=null;
			while (rs.next()) {
//				System.out.println(rs.getInt(1)+"--"+rs.getString(2)+"--"+rs.getString(3)+"--");
				dept=new Department();
				
				dept.setId(rs.getInt(1));
				dept.setDeptName(rs.getString(2));
				dept.setDeptDesc(rs.getString(3));
				
				listDept.add(dept);
			}
			
		} catch (SQLException e) {
			System.out.println("            : "+e.getMessage());
		}finally{
			try {
				ppst.close();
			} catch (SQLException e) {
				System.out.println("           : "+e.getMessage());
			}
			try {
				conn.close();
			} catch (SQLException e) {
				System.out.println("             : "+e.getMessage());
			}
		}
		
		
		System.out.println(listDept.size());
		for (Department department : listDept) {
			System.out.println(department.getId()+"--"+department.getDeptName()+"--"+department.getDeptDesc());
		}
	}
}




    設定されたマッピングクラスDepartment:
package jdbcPrograms;

public class Department {
	private Integer id;
	private String deptName;
	private String deptDesc;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
	public String getDeptDesc() {
		return deptDesc;
	}
	public void setDeptDesc(String deptDesc) {
		this.deptDesc = deptDesc;
	}
	
}