Java 中的 SQL 结果集

Res*_*had 5 java mysql jdbc

您好,我刚开始使用 Java 中的 SQL(实际上不久前也开始使用 Java 也......),我创建了一个类来连接 MySQL 数据库,并且一切正常。

现在我有一个关于获得结果的问题。

在 PHP 中我会做类似的事情

While($row = mysql_fetch_assoc()) {
  echo $row['rowname'];
}
Run Code Online (Sandbox Code Playgroud)

在 Java 中,我试图创建与此类似的东西,但我不知道我是否走正确的路,或者它应该有很大不同或其他什么......这是我所做的(参见 getResultList 方法)

public class MysqlConnect{

     private String query;
     private ResultSet rs;

    public void connectToAndQueryDatabase(String database, String username, String password) throws SQLException {

            Connection con = null;
            try {
                con = DriverManager.getConnection(
                                     "jdbc:mysql://localhost:3306/" + database,
                                     username,
                                     password);
            } catch (SQLException e) {
                e.printStackTrace();
            }

            Statement stmt = con.createStatement();
            rs = stmt.executeQuery(query);
    }

    public void setQuery(String query) {

        this.query = query;

    }

    public List getResultList() {
        ArrayList<HashMap> row = new ArrayList<HashMap>(); 
        while(row = rs.next()) {

        }

        return rs;
    }
}
Run Code Online (Sandbox Code Playgroud)

Shu*_*jee 2

在 while 循环中,您使用了赋值运算符。rs.next() 返回 true 或 false

 while(row=rs.next()) 
{}
Run Code Online (Sandbox Code Playgroud)

你可以简单地说,

while(rs.next()) 
{}
Run Code Online (Sandbox Code Playgroud)