Сейчас 6 утра, начинал учить в 12 ночиJava MVC, курс от Алишева. Курс понял с кайфом, там трогал тут настраивал и свои прикольчики добавлял, ну короче игрался чтобы закрепить материал. Под конец курса он говорит, всё мужики спасибо за просмотр дальше гоу в Юдеми покупать курс 100$. И чё делать?
И с этой мыслью решил я допилить то, что он не допилил а именно auto increment id(27 урок).
Сперва я наивно пологал что простая переменная ++ID_Counter передавая в ? перед VALUES решит вопрос
public void save(Person person){
jdbctemplate.update("INSERT INTO person VALUES (?, ?, ?, ?)",++ID_COUNTER(),
person.getName(), person.getAge(), person.getEmail());
}
. После того как я это сделал сразу фейспалмом пробил себе череп, после каждого запуска всё откатывалось и ничего в дб не записывалось а только в оперативку. Почему то я этого не учёл
Попробовал погуглить, нашелся индус который после нажатие включился на 2,0х и начал какие-то заклинания читать
Ну думаю не беда, поставил на 1,0х и просмотрел код, понял что он пишет на чистом jdbc без template, вообщем не тот случаи.
Все гугления приводили не к тому результату и я решил прийти к вопросу оригинально и получать нынешний ID через SQL запрос, с такими значениями
SELECT * FROM Table WHERE ID = ( SELECT MAX(ID) FROM Table)
И полученный INT нужно было передавать уже в VALUES через ? и отсчет начинать не с нуля а с полученного значение
мой вариант, всё тоже самое как в первом только название другое и начинает отсчет с последнего поля id в дб public void save(Person person){
jdbctemplate.update("INSERT INTO person VALUES (?, ?, ?, ?)",++ID(),
person.getName(), person.getAge(), person.getEmail());
} Ну короче вот
Не судите строго я новечок, и сильно не бейте. Сейчас я вроде понимаю что нужно было еще метод создать который этот запрос и делает, но уже влом чё то разбираться голова не варит. Вернусь уже отоспавшись и мб чё то попробую. Еще есть ощущение что после изучение Hibernate всё что я делал окажется говном мамонта