从java中的SQL查询(SELECT FROM WHERE)中检索数据

时间:2015-08-31 23:28:08

标签: java mysql sql-server

我想知道是否有其他方法可以从SQL查询中获取数据。 我的意思是"主要"我总能找到的代码是

Connection con = (connect to db)
PreparedStatement st = con.prepareStatement(....);
ResultSet rs = ps.executeQuery();

while (rs.next())
{
  //do something
}

但是,如果我想要检索特定数据,例如假设我的查询是

            Connection con = L2DatabaseFactory.getInstance().getConnection();
            PreparedStatement ps = con.prepareStatement("SELECT login,email FROM accounts WHERE login=?");
            ps.setString(1, account);
            ResultSet rs = ps.executeQuery();

            while (rs.next())
            {
                if (rs.getString("login").equals(account))
                {
                    email = rs.getString("email");
                    break;
                }
            }

除了while循环检索数据之外还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

if循环中的while条件完全是冗余的 - where子句会处理它并确保从此查询返回的任何数据都有login等于account的值的字段。

如果您确定这样的行不超过一行(例如,login列是表中的唯一标识符),您只需将while循环替换为{{ 1}}:

if