2014-09-18 3 views
-2

Я создал страницу и хочу сохранить ее в mySQl, но я хочу реализовать автоинкремент из своей java-программы и передать ее как параметр. Как получить это. Я использовал static count = 0 counter as но это не происходит. Это функция, я используюmySQL Auto increment using JDBC

static int=count++; 
CorruptionStory corruptionStory = 
    new CorruptionStory(count, new State(stateId,stateNameSelected), 
         age, new Department(deptId,departmentNameSelected), 
         positionOfOfficial,bribeAmount, description, sqlDate); 
isSuccessfullySaved = CorruptionStoryJdbcImpl. 
          saveCorruptionStory(corruptionStory); 

ответ

0

Я не думаю, что это хорошая идея, чтобы иметь код Java управлять авто приращение числа, вы действительно должны настроить схему таблицы, чтобы сделать это для вас. Вот почему:

  1. Если вы перезапустите приложение, вам нужно будет написать код, чтобы выяснить, с какого числа возобновить работу.
  2. Если у вас есть несколько экземпляров вашей программы, они каким-то образом должны будут координировать друг с другом, чтобы они не использовали один и тот же номер.

определения столбцов MySQL позволяют задать автоматическое приращение, увидеть это:

http://dev.mysql.com/doc/refman/5.6/en/example-auto-increment.html

было бы гораздо лучше, если бы вы написали файл схемы SQL, чтобы решить эту проблему. Затем, когда вы выполняете инструкцию insert из java-программы, вы можете опустить этот столбец, и MySQL автоматически установит ее в следующее подходящее значение.

Кроме того, если вы готовы провести время, изучая спящий режим, вы можете использовать это. Hibernate может автоматически генерировать вашу схему SQL для вас и даже обновлять базу данных для вас при запуске. В нем есть аннотация, которая позволяет вам сказать, что в спящем режиме определенное поле класса (столбец таблицы) должно быть автоматически увеличивающимся идентификатором.

Я должен предупредить вас, но спящий режим - это не то, чему вы научитесь за одну ночь.