从结果集获取布尔值
ResultSet#getBoolean 在空值时似乎返回 false。
有没有一种简单的方法可以从a中获取(不是)?Boolean
boolean
ResultSet
ResultSet#getBoolean 在空值时似乎返回 false。
有没有一种简单的方法可以从a中获取(不是)?Boolean
boolean
ResultSet
您可以在调用 getBoolean 后调用 wasNull。这里解释如下:https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#wasNull%28%29
这应该有效:
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test?serverTimezone=UTC");){
// create table bool_table (bool_value boolean);
// insert into bool_table values (null);
String sql = "SELECT * FROM bool_table";
try (PreparedStatement preStmt = conn.prepareStatement(sql)){
try (ResultSet rs = preStmt.executeQuery()) {
rs.next();
System.out.println(rs.getObject(1, Boolean.class));
}
} catch (SQLException e) {
e.printStackTrace();
}
} catch (SQLException ex) {
ex.printStackTrace();
}