Хранить данные в таблице по возрастанию идентификаторов

У меня есть программа, где я должен читать данные из файла Excel и сохранять их в базе данных. Я использую LinkedHashmap, чтобы прочитать каждую ячейку как строку и сохранить их. Мой файл Excel содержит данные:

ID    Name        Salary
43    paulina     1000
5     christine   2349000
54    laura       12587458
49    jim         45878

В моем коде я сделал поля для таблицы первой строкой файла Excel, а затем заполнил таблицу остальными данными, используя снова LinkedHashMap. Мой вопрос заключается в том, как на этом этапе я могу сохранить данные в таблице не так, как они есть в файле, а по возрастанию идентификаторов. Я ищу, что я могу сделать это с TreeMap, но как именно? Кто-нибудь может мне помочь?

2 ответа

Характерной особенностью СУБД (таких как MySQL, Oracle и т. Д.) Является то, что каждая строка данных стоит отдельно. Нет естественного порядка, в котором строки хранятся в СУБД.

То есть, когда вы получаете строки, используя SELECT Заявление, порядок, в котором они будут представлены вам в вашем наборе результатов, формально непредсказуем. Если вы хотите, чтобы ваши строки были представлены в предсказуемом порядке, используйте ORDER BY пункт в вашем SELECT заявление.

Бывает, что некоторые технологии СУБД создают иллюзию, что строки хранятся в определенном порядке. Но они не дают никаких обещаний по этому поводу, и иллюзия может сломаться в любое время, если вы не используете ORDER BY, Я научился этому нелегко, когда приложение начало работать со сбоями, когда таблица достигла определенного размера.

Чтобы заказать ваши строки до INSERTпоэтому их вставка в MySQL - пустая трата вашего времени. Сделайте ваше программное обеспечение для вставки действительно простым. Заказать их, когда вы их получите, тривиально просто - используйте ORDER BY,

Если ваш вопрос заключается в том, как отсортировать базу данных, то Локи прав: это неважно. Если ваш вопрос заключается в том, как заказать его для программы... Вы можете использовать TreeMap, это быстрая структура данных. Вам нужно либо заставить объекты, которые входят в структуру, реализовать Comparable, либо вам нужно построить TreeMap с помощью Comparator. Прочтите официальное руководство по Java на этих двух принципах - можно либо использовать, либо просто немного другой стиль программирования.

Другие вопросы по тегам