Создать еще одну таблицу, где будут сохраняться все данные о зарплате сотрудников за каждый месяц.

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раз.