Создать еще одну таблицу, где будут сохраняться все данные о зарплате сотрудников за каждый месяц.
2. Создать отдельно таблицу, где будут храниться налоги на з/п (соц. фонд и другие)
Примечание. Как получить дату из jXDatePicker
1.
java.util.Date data = jXDatePicker1.getDate();
Calendar cal = Calendar.getInstance();
cal.setTime(data);
cal.get(Calendar.YEAR); // Получение текущего года
String month = cal.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.forLanguageTag("ru")); //Получение месяца на русском , например, Июнь
String year = String.valueOf(cal.get(Calendar.YEAR)); // Получение текущего года
2.DateFormat sysDate = new SimpleDateFormat("yyyy-MM-dd");
String data = sysDate.format(jXDatePicker1.getDate());
Примечание. Как выводить данные запроса из бд в jTable на форме Java.
Вы можете воспользоваться готовой библиотекой rs2xml.jar
Как ею пользоваться:
1.Добавьте ее в проект, в папку библиотеки. Нажмите правой кнопокй мыши по папке Библиотеки -> Добавить файл Jar/папку
2.Например:
resultSet = databaseConnection.select("*", "posts", null); jTablePost.setModel(DbUtils.resultSetToTableModel(resultSet));
Валидация данных.
Регулярные выражения (англ. regular expressions) — формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов-джокеров, англ. wildcard characters).
Регулярные выражения используются в большом количестве языков программирования.
В Java тоже есть пакет, который позволяет работать с ними - java.util.regex.
Метасимволы
Основой синтаксиса регулярных выражений является тот факт, что некоторые символы встречающиеся в строке рассматриваются не как обычные символы, а как имеющие специальное значение (т.н. метасимволы). Именно это решение позволяет работать всему механизму регулярных выражений. Каждый метасимвол имеет свою собственную роль.
Вот примеры основных метасимволов:
^ - (крышка, цирркумфлекс) начало проверяемой строки
$ - (доллар) конец проверяемой строки
. - (точка) представляет собой сокращенную форму записи для символьного класса, совпадающего с любым символом
| - означает «или». Подвыражения, объединенные этим способом, называются альтернативами (alternatives)
? - (знак вопроса) означает, что предшествующий ему символ является необязательным
+ - обозначает «один или несколько экземпляров непосредственно предшествующего элемента
* – любое количество экземпляров элемента (в том числе и нулевое)
\\d – цифровой символ
\\D – не цифровой символ
\\s – пробельный символ
\\S – не пробельный символ
\\w – буквенный или цифровой символ или знак подчёркивания
\\W – любой символ, кроме буквенного или цифрового символа или знака подчёркивания
Давайте рассмотрим несколько примеров с некоторыми из этих метасимволов.
Следующий метод проверит строку на содержание в ней слова BACON и только! Никаких пробелов и других символов. Про классы Pattern и Matcher мы ещё поговорим. Метод matches() проверяет строку на соответствие регулярному выражению.
Квантификаторы
Регулярные выражения предоставляют инструменты позволяющие указать сколько раз может повторятся один или несколько символов. С некоторыми мы уже встречались:
+ - Одно или более
* - Ноль или более
? - Ноль или одно
{n} - Ровно n раз
{m,n} - От m до n включительно
{m,} - Не менее m
{,n} - Не более n
Теперь мы можем полностью понять регулярное выражение с самого первого примера: "^[a-z0-9_-]{3,15}$" .
Разберем её по кусочкам:
^ - начало строки
[a-z0-9_-] - символ который может быть маленькой латинской буквой или цифрой или символом подчеркивания.
{3,15} - предыдущий объект(смотри выше) может повторяться от 3х до 15раз.