こんにちは、コンソールにデータベース テーブルの内容全体を表示したいだけです。最初にデータベースからレコードを取得してArrayListに保存しようとしていますが、これを表示するだけでは何も表示されません:
[com.suven.java.EmployeeDTO@970c0e]
[com.suven.java.EmployeeDTO@970c0e, com.suven.java.EmployeeDTO@987197]
[com.suven.java.EmployeeDTO@970c0e, com.suven.java.EmployeeDTO@987197, com.suven.java.EmployeeDTO@497904]
私は何をすべきか完全に混乱しています。私のコードは次のとおりです。
EmployeeDTO java file
public class EmployeeDTO
{
//private properties
private int empNo;
private String eName;
private String jobTitle;
//setters
public void setEmpNo(int val){empNo=val;}
public void setEName(String val){eName=val;}
public void setJob(String val){jobTitle=val;}
// getters
public int getEmpNo(){return empNo;}
public String getEName(){return eName;}
public String getJob(){return jobTitle;}
}
私のEmployeeList Javaコードは次のとおりです。
public class EmployeeList
{
public static void main(String argv[])
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try
{
// Load the JDBC driver
// This can be skipped for Derby, but derbyclient.jar has to be in the CLASSPATH
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String accessFileName = "E:/Database/java";
conn=DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+accessFileName+".accdb;");
// Build an SQL String
String sqlQuery = "SELECT * from Employee";
// Create a Statement object
stmt = conn.createStatement();
// Execute SQL and get obtain the ResultSet object
rs = stmt.executeQuery(sqlQuery);
ArrayList<EmployeeDTO> employees = new ArrayList<EmployeeDTO>();
// Process the result set - print Employees
while (rs.next())
{
EmployeeDTO currentEmp = new EmployeeDTO();
currentEmp.setEmpNo(rs.getInt("EMPNO"));
currentEmp.setEName(rs.getString("ENAME"));
currentEmp.setJob(rs.getString("JOB_TITLE"));
employees.add(currentEmp);
System.out.println(employees);
}
}
catch( SQLException se )
{
System.out.println ("SQLError: " + se.getMessage ()+ " code: " + se.getErrorCode ());
}
catch( Exception e )
{
System.out.println(e.getMessage());
e.printStackTrace();
}
finally
{
// clean up the system resources
try
{
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
私のデータベースは次のとおりです。
Employee
EMPN ENAME JOB_TITLE
1 abc xyz
2 pqr mno
3 lmn hij
完全なコードとデータベースを投稿しましたが、コンソールに表示する方法が間違っています