如何在Java中使用executeQuery()获取返回?

如何在Java中使用executeQuery()获取返回?,java,mysql,sql,database,bukkit,Java,Mysql,Sql,Database,Bukkit,我有这个密码 String sql = "UPDATE Players SET Losses=Losses+1 WHERE UUID='" + p.getUniqueId() + "';"; stmt.executeUpdate(sql); 如何获得特定玩家p的当前损失?您可以获得如下损失。看起来真的很琐碎,我猜你是个绝对的初学者 String sql = "SELECT Losses FROM Players WHERE UUID='" + p.getUniqueId() + "';";

我有这个密码

String sql = "UPDATE Players SET Losses=Losses+1 WHERE UUID='" + p.getUniqueId() + "';"; 
stmt.executeUpdate(sql);

如何获得特定
玩家p
的当前
损失

您可以获得如下损失。看起来真的很琐碎,我猜你是个绝对的初学者

String sql = "SELECT Losses FROM Players WHERE UUID='" + p.getUniqueId() + "';"; 
ResultSet rs = stmt.executeQuery(sql);
int losses = -1;
if(rs.next()) {
    losses = rs.getInt("Losses");
}

SELECT查询将返回它,但您真正的问题是什么


String sql=“选择列名称,从表名称中选择列名称,其中列名称=”

你必须做一个SELECT语句。就像从UUID=“+p.getUniqueId()+”;";
然后使用语句的executeQuery()返回一个ResultSet。您可以使用迭代器从ResultSet对象提取数据。

我会使用Select for Update,类似这样的-

String query = "SELECT Losses FROM Players FOR UPDATE "
               + "Players SET Losses=Losses+1 WHERE UUID=?";
ps = conn.prepareStatement(query,
                       ResultSet.TYPE_FORWARD_ONLY,
                       ResultSet.CONCUR_UPDATABLE);
ps.setString(1, p.getUniqueId());
ResultSet rs = ps.executeQuery();
int losses = 0;
if (rs.next()) {
  losses = rs.getInt("Losses");
}