我有一个名为mapreduce.task.io.sort.mb
的{{1}}表,其中一个字段为MySQL
,默认值为stars
。我想通过java中的id_num
选择NULL
不 id_num
的所有记录。
现在我正在尝试这个:
NULL
但它不起作用。
答案 0 :(得分:2)
public class Test implements Serializable {
private static final long serialVersionUID = -7788619177798333712L;
private String name;
private User user;
public Test( String name ) {
this.name = name;
}
public Test( String name, User user ) {
this( name );
this.user = user;
}
public String getName() {
return name;
}
public User getUser() {
return user;
}
public void setName( String name ) {
this.name = name;
}
public void setUser( User user ) {
this.user = user;
}
public String toString() {
StringBuilder sb = new StringBuilder( "[ " );
sb.append( "name: " ).append(this.name).append( ", " );
sb.append( user.toString() ).append( " ]" );
return sb.toString();
}
}
你不需要private final String idStarsSQL = "select * from `stars` where id_num is not NULL";
。
从我的角度来看,PreparedStatement应该用于带参数的SQL语句。使用带参数的SQL语句的优点是,您可以使用相同的语句,并在每次执行时为其提供不同的值。
PreparedStatement
答案 1 :(得分:1)
因为null不是值,所以它更多是SQL中的关键字,所以你必须将它硬编码到你的sql语句中
private final String idStarsSQL = "select * from `stars` where id_num is not NULL";
答案 2 :(得分:1)
您可以使用:
PreparedStatement preparedStatement =
connection.prepareStatement("select * from `stars` where id_num is not NULL");
ResultSet result = preparedStatement.executeQuery();
while (result.next()) {
result.getString("attribute1");
result.getString("attribute2");
}
您可以在此处了解有关Sample Html Editor和PreparedStatement
的更多信息答案 3 :(得分:0)
preparedStatement的主要功能是将参数插入到SQL语句中,在你的情况下你不需要这样做,因为null不是一个参数,所以你可以清楚地做到:
PreparedStatement myRequest=
connection.prepareStatement("select * from `stars` where id_num is not NULL");
ResultSet myResult= preparedStatement.executeQuery();