0

私は今やろうとしていることをうまくやっていない。目的は、MySQLテーブルからすべての情報を取得し、それを配列に配置することです。配列に入ったら、Javaの優先度付きキューを使用して、それが機能するようにします。しかし、それは今のところ私が立ち往生している問題ではありません。

public static void array(String args []){//優先キューを作成

   try { 
        String url = "jdbc:mysql://localhost:3306/project"; 
        Connection conn = DriverManager.getConnection(url,"root","nbuser"); 

        PreparedStatement stmt = conn.prepareStatement("SELECT user_id,s_date,e_date,d_date,department,projectname,projectapplication FROM booking");
        ResultSet rs; 
        rs=stmt.executeQuery();

                  List<User> userList = new ArrayList<User>();
        while(rs.next()) {
        User user = new User(); //issue here with non-static variable
        user.userid(rs.getString("user_id"));
        user.s_date(rs.getObject("s_date"));
        user.e_date(rs.getObject("e_date"));
        user.d_date(rs.getObject("d_date"));
        user.department(rs.getObject("department"));
        user.projectname(rs.getObject("projectname"));
        user.projectapplication(rs.getObject("projectapplication"));
        user.priority(rs.getObject("priority"));

        userList.add(user);
     }

        conn.close(); 
    } catch (Exception e) { 
        System.err.println("Got an exception! "); 
        System.err.println(e.getMessage()); 
    } 
} 

目的は、テーブル内のすべての異なるセクションを実行してそれらを配列に入力することですが、私は配列の入力に固執しています。

どんな助けでもありがたいです。

編集:

public class User {
public String userid;
public String s_date;
public String e_date;
public String d_date;
public String department;
public String projectname;
public String projectapplication;
public int priority;

    private void userid(String string) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private void s_date(Object object) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private void e_date(Object object) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private void d_date(Object object) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private void department(Object object) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private void projectname(Object object) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private void projectapplication(Object object) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private void priority(Object object) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
}

これに似ていますか?

4

1 に答える 1

1

UserSQLテーブルの適切なフィールドを使用してクラスを作成し、各ユーザーをリストに保持します。

  List<User> userList = new ArrayList<User>();
  while(rs.next()) {
     User user = new User();
     user.setId(rs.getString("user_id"));
     user.setStartDate(rs.getTimestamp("s_date");
     ....
     userList.add(user);
  }
  return userList;

編集

  class User {
   private String id;
   private Date startDate;
   //other fields need to be declared as well as their setter methods

   public void setStartDate(Date startDate) {
      this.startDate = startDate;
   }

   public void setId(String id) {
      this.id = id;
   }
  }

JPAまた、とを確認することをお勧めしますHibernate

于 2013-02-07T21:20:00.200 に答える