Прежде всего, ваш переменные й ИНТ, поэтому он не может быть 001, всего 1, но вы можете сделать строку, чтобы использовать ее в другом месте с форматированием:
String formattedX = String.format("%03d", x);
Я полагаю, «проверка максимального значения в базе данных» означает получение следующего значения для Первичного ключа. Для этого вы можете использовать последовательность базы данных (read about it here, это спецификация базы данных, поэтому я не могу сказать, как ее реализовать в вашем случае), и каждый раз, когда она вам нужна, получите ее следующее значение. Для OracleDB это можно сделать с этим запросом:
SELECT somesequense.nextval FROM DUAL;
Или вы можете использовать функции аналитики MAX() для базы данных, например, для Oracle:
SELECT MAX(receipt_number) "Maximum" FROM receipts;
А потом просто увеличиваем его в Java код. Но это нехорошее решение, потому что это может привести к некоторым проблемам, когда вы получите одно и то же значение в нескольких транзакциях.
Спасибо. Использование обнаруженной последовательности iv является очень хорошим решением. Бог благословил –