Если есть нулевое значение, хранящееся в столбце MySQL INT, оно будет возвращать 0 при доступе к технологиям типа JPA. Если значение 0 также сохраняется в столбце, как я могу различать нуль и 0?Как отличить 0 от нуля в столбце INT в MySQL
ответ
Не могу поверить, что это так.
Изменить тип примитива для типа объекта в вашей организации (пример: Int -> Integer)
Почему вы не верите, что 'int' не может содержать' null'? – BalusC
Он также работает на MS SQL Server. Благодаря! –
Чтобы различать между 0 и NULL, вы должны использовать ResultSet.wasNull() метод, как здесь:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
public static void main(String[] args) throws Exception {
Connection conn = getConnection();
Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
st.executeUpdate("create table survey (id int,name varchar(30));");
st.executeUpdate("insert into survey (id,name) values (1,'nameValue')");
st.executeUpdate("insert into survey (id,name) values (2,null)");
st.executeUpdate("insert into survey (id,name) values (3,'Tom')");
st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM survey");
while (rs.next()) {
String name = rs.getString(2);
if (rs.wasNull()) {
System.out.println("was NULL");
} else {
System.out.println("not NULL");
}
}
rs.close();
st.close();
conn.close();
}
The как я решил это следующее:
Integer id;
Object o = rs.getObject("ID_COLUMN");
if(o!=null){
id = (Integer) o;
} else {
id = null;
}
Эти семь строк могут быть записаны как один без внесения * любой * разницы: «Целое число id = (Целое число) rs.getObject (« ID_COLUMN »); –
- 1. Как отличить QChar от int
- 2. Как отличить персонажа от int в Clojure?
- 3. Как отличить нуль от «0» в Angular.js?
- 4. Как отличить «0» от NULL в perl?
- 5. Как отличить неназначенную переменную от нуля в Python?
- 6. Отличить пустой макроопределения от 0
- 7. Как отличить объект от int методом?
- 8. Как отличить unsigned int от uint32_t
- 9. Как отличить 0 от пустой переменной?
- 10. Как отличить цвет int от цветового ресурса
- 11. PHP Как отличить 0 от 0.0
- 12. MySQL Int Removes 0
- 13. PHP: не может отличить строку от int?
- 14. Любой способ отличить случаи от 0 затронутой строки обновления MYSQL?
- 15. Как отличить от 1 до нуля значения с плавающей запятой?
- 16. Как отличить float к int в sympy (от Python)?
- 17. Почему переменная индекса mySQL изменяется от> 0 до нуля?
- 18. Как отличить int unique_ptr в void unique_ptr?
- 19. индекс mysql в столбце типа int
- 20. Не удается отличить от int до MyClass
- 21. 0 Значение вместо NULL в столбце MySQL
- 22. Как проверить существование нуля в столбце таблицы
- 23. Как отличить varchar к int в sql
- 24. Как отличить int и long?
- 25. Как отличить 0 от других целых чисел при инициализации nullptr_t?
- 26. qooxdoo: Усовершенствовать свойство, чтобы отличить 0 от -0
- 27. Как отличить первый int и второй int в java-калькуляторе?
- 28. Отличие от 0 до нуля в OR-заявлении в Javascript
- 29. Как отличить результат операции от массива int до double?
- 30. Невозможно отличить 0 или 1 от булевого в C#
см http://dev.mysql.com/doc/refman/5.5/en/working-with-null.html также проверить функцию IFNULL() –
Errm, вот где входит тип Java Integer, не так ли? Если класс есть, то он может быть NULL или иметь значение – DataNucleus