Postgre SQL server создание базы – ошибка регистра

Создавал пустую базу командой в терминале Убунты:

psql -U postgres -c "CREATE DATABASE ""CUA_Linux_1C_PSQL_TEST"" WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' TABLESPACE = pg_default CONNECTION LIMIT = -1;" 

База создалась, однако вот её имя получилось всё в нижнем регистре: cua_linux_1c_psql_test

Однако, если создавать базу, предварительно войдя в командный режим psql и там уже создать аналогичной командой:

CREATE DATABASE "CUA_Linux_1C_PSQL_TEST" WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' TABLESPACE = pg_default CONNECTION LIMIT = -1 

То указанный регистр имени ИБ сохраняется. PSQL 9.6.7

Создание View/Activity по XML-разметке

Передо мой стоит задача – необходимо создавать экран activity по данным с сервера.
На данный момент, я в onCreate стучусь на сервер и получаю шрифты, бекграунды, цвета и прочую мелочь.

И мне стало интересно: можно ли сформировать на сервере xml-строку и использовать вместо

setContentView(R.layout.activity); 

что-то такое

setContentView(View.createFromXml("<?xml version="1.0" encoding="utf-8"?><Layout> ... </Layout>")); 

Создание файла на Python по pre-commit и commit

Хочу сделать что бы по каждому комиту автоматически форматировался файл с номером версии. Сделал так

Patch="Patch="$  PWD PreCommit=$  PWD/"Build/pre-commit.py $  PWD" python $  PreCommit exit 0 

Но возникла проблема в том что сам файл с версии тоже надо держать в репозитории, что бы на другом рабочем месте версия ПО инкрементировалась

Файл с версиям создается комититься, но после комита модификация все равно остается, почему ? пробовал после python $ PreCommit поставить задержку все равно так же.

Создание элемента с классом

У меня такой код:

if ($  ('.trueOneQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + ' trueCheck">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else if ($  ('.trueTwoQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + ' trueCheck">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else if ($  ('.trueThreeQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + ' trueCheck">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else if ($  ('.trueFourQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + ' trueCheck">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } 

С помощью него можно выделить ответ как правильный, но получится выделить только 1. Как можно этот код изменить так, чтобы можно было выделять до 3 ответов из 4

Создание элемента с классом

У меня такой код:

if ($  ('.trueOneQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + ' trueCheck">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else if ($  ('.trueTwoQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + ' trueCheck">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else if ($  ('.trueThreeQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + ' trueCheck">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else if ($  ('.trueFourQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + ' trueCheck">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } else {     valueBlockTest.push('<label class="testTitle">' + $  ('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $  ('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $  ('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $  ('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $  ('.checkFourQuest' + i).val() + '</li></ul>'); } 

С помощью него можно выделить ответ как правильный, но получится выделить только 1. Как можно этот код изменить так, чтобы можно было выделять до 3 ответов из 4

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

Меня интересует существует ли возможность создания такого скрипта ( для бота ), который сможет подключаться к игровому серверу и брать оттуда информацию. Подчеркну, что требуется это только для удаленного подключения. Не надо писать о способах получения через оперативную память и её стэки. Язык желательно js + node js. Просто интересно есть ли такая возможность и как примерно это реализуется. Буду крайне благодарен.

Оптимизация кода Python. Создание GUI

Небольшая работа по программированию в вузе. Есть предложения по оптимизации кода? Было бы интересно.

from tkinter import * from tkinter import messagebox from graph import *  def check(file):                # Проверка на наличие записей в файле         file = open(FILE)         if file.read() != '':                 file.close()                 return True         else:                 file.close()                 return None  def name_input():        #Функция ввода названия и обработки того же файла         global MASSIVE, kind_of_sport, SECOND_NAME, STROKA, FILE, CHOICE, choice         SECOND_NAME = []         kind_of_sport = []         MASSIVE = []         info = [0, 0]         STROKA = 3          if file_name.get() != '':               # Проверка на отсутствие ввода                 FILE = file_name.get() + '.txt' # Получение введённой информации без указания формата                 file_name.delete(0, END)                                                   try:                            # Обработка случая, когда файла с таким именем не существет                     F = open(FILE)                     if check(F) == True:                             f = open(FILE)                                            text2.grid(column = 0, row = 1) # 'Выберите вид спорта, по которому хотите вывести информация'                              for row in f:                                 row = row[:-1]                                 row = row.split(';')                                  if row[2] not in kind_of_sport:                                         kind_of_sport.append(row[2])    # Список с видами спорта                                 SECOND_NAME.append(row[0])                                 info[0] = row.pop(2)                                 info[1] = list(row)                                 MASSIVE.append(list(info))                              CHOICE_BUTTON = InputButton('Искать по дисциплине:')        # Кнопка 'Искать по дисциплине'                             choice = Entry(root, width=28)                              # Поле ввода для дисциплины                             choice.grid(column = 1, row = 3)                            # Размещение поля для ввода дисциплины                              sprt = 'Виды спорта:\n'                             for kind in kind_of_sport:                                  # Создание предложения 'Виды спорта:...'                                     sprt = sprt + kind + ',\n'                                      text5 = Label(root, text = sprt[:-2] + '.',bg = '#3f4b59', fg = 'white', width = 26) # Метка 'Виды спорта......'                             text5.grid(column = 1, row = 1)                                   else:                                                 messagebox.showinfo('Ошибка', 'Файл пуст')                        except FileNotFoundError:       # Обработка случая, когда файла с таким именем не существет                     messagebox.showinfo('Ошибка ввода', 'Файла с таким именем не существует') # Всплывающее окно в случае, когда файла с таким именем не существет                 SECOND_NAME.sort()                 QUIT_button.grid(column = 0, row = STROKA + 2)         else:                 QUIT_button.grid(column = 0, row = STROKA + 2)                 messagebox.showinfo('Ошибка ввода', 'Вы ничего не ввели')   # Всплывающее окно в случае, когда поле ввода пустое  class InputButton:      # Конпка 'Искать по дисциплине'         def __init__(self, name):                 self.button_name = name                 self.b = Button(root, text = self.button_name, width = 20, bg = '#3f4b59', fg = 'white', command = self.click) # Создание и разиещение кнопки                 self.b.grid(column = 0, row = 3)          def click(self):        # Действие кнопки при нажатии                 vid_sporta = choice.get()                 choice.delete(0, END)                 graph_name_COLOUR = '#3f4b59'                 if vid_sporta in kind_of_sport:                          COVER = Label(root, width = 80, height = 50, bg = '#3f4b59')     #Жёлтый фон                         COVER.place(x = 358, y = 51)                          brushColor('white')             # Белый холст для окна с графиком                         rectangle(0, 0, scale, scale)                         penSize(2)                                                points = []                                      sportsmen_AGE = []                         sportsmen_NAME = {}                         VOZRAST = {}                          col = 2         # Начальная колонка                         ROW = 1                          name_of_sport = Label(root, text = 'Вид спорта', bg = graph_name_COLOUR, fg = 'white')        # Названия полей                         second_name = Label(root, text = 'Фамилия', width = 15, bg = graph_name_COLOUR, fg = 'white') # Фамилия                         age = Label(root, text = 'Возраст', bg = graph_name_COLOUR, fg = 'white')                     # Возраст                         placement = Label(root, text = 'Место', bg = graph_name_COLOUR, fg = 'white')                 # Занятое место                         text3.grid(column = 4, row = 0)                 # Метка 'Самый молодой спортсмен, занимающийся данным видом спорта'                           youngest_sportsmen.grid(column = 5, row = 0)    # Фамилия самого молодого спортсмена                         name_of_sport.grid(column = col, row = ROW)     # Размещение полей                         second_name.grid(column = col + 1, row = ROW)   # Фамилия                         age.grid(column = col + 2, row = ROW)           # Возраст                         placement.grid(column = col + 3, row = ROW)     # Занятое место                          nazvanieSPORTA = Label(root, text = vid_sporta, width = 14, bg = graph_name_COLOUR, fg = 'white')       # Название вида спорта                         nazvanieSPORTA.grid(column = col, row = ROW + 1)                        # Размещение названия вида спорта                          for name in SECOND_NAME:                                        # Перебор отсортированного списка                                 for sportsmen_info in MASSIVE:                          # Размещение информации о спортсменах                                         if name in sportsmen_info[1]:                   # "Сортировка"                                                 if sportsmen_info[0] == vid_sporta:     # "Если вид спорта совпадает с названием кнопки"                                                            sportsmen_AGE.append(sportsmen_info[1][1])                      # Список с фамилиями для сортировки                                                         sportsmen_NAME[sportsmen_info[1][1]] = sportsmen_info[1][0]     # Словарь с возрастом спортсмена                                                          ROW += 1                                                        # Строка для размещения кнопки                                                          NAME = Label(root, text = sportsmen_info[1][0], width = 15, bg = graph_name_COLOUR, fg = 'white')     # Фамилия                                                         NAME.grid(column = col + 1, row = ROW)                                                                # Размещение                                                          AGE = Label(root, text = sportsmen_info[1][1], width = 15, bg = graph_name_COLOUR, fg = 'white')      # Возраст                                                         AGE.grid(column = col + 2, row = ROW)                                                                 # Размещение                                                          PLACEMENT = Label(root, text = sportsmen_info[1][2], width = 10, bg = graph_name_COLOUR, fg = 'white')# Место                                                         PLACEMENT.grid(column = col + 3, row = ROW)                                                           # Размещение                         y = 360                         line(20, y, y*2, y) # X                         line(20, 0, 20, y)  # Y                          for x in range(50, 350, 50):                                 line(x, y - 5, x, y + 5)    # Штрихи по X                                 line(15, x+10, 25, x+10)    # Штрихи по Y                          y0 = 310 # Нижний штрих по Y                         x0 = 50  # Левый штрих по X                          youngest_sportsmen.configure(text = sportsmen_NAME[str(sportsmen_AGE[0])], bg = '#3f4b59', fg = 'white', width = 14, height = 2)    # Вывод фамилии самого молодого спортсмена                          for i in range(int(min(sportsmen_AGE)), int(max(sportsmen_AGE)) + 1):                                 VOZRAST[i] = y  # Заполнение словаря с возрастом и его координатой                                 y -= 50                          for n in sportsmen_AGE:                                 points.append((x0, VOZRAST[int(n)])) # Заполнение списка с координатами точек                                 x0 += 50                          try:                    # Обработка случая, когда есть лишь одна точка                                 polyline(points)                         except:                 # Отображение той самой точки                                 penSize(5)                                       point(x0, y0)   # Ставится лишь одна точка                 elif vid_sporta == '':                         messagebox.showinfo('Ошибка ввода', 'Ничего не было введено')   # Всплывающее окно в случае, если ничего не было введено                 else:                         messagebox.showinfo('Ошибка ввода', 'Такого вида спорта нет')   # Всплывающее окно в случае, если такого вида спорта нет                 QUIT_button.grid(column = 0, row = 5)  def Quit():     # Функция для кнопки выхода из программы         root.destroy()         close()  def start():         global file_name, text2, root, QUIT_button, scale, text3, youngest_sportsmen         START.destroy()         root = Tk()         root.title('Сухомлин, 18-ИЭ-2')         scale = 400                     #          canvasSize(scale, scale)        #         windowSize(scale, scale)        # Настройки графика         penSize(2)                      #         penColor('black')               #          MAINCOVER = Label(root, bg = 'black', width = 300, height = 300) # Основной фон         MAINCOVER.place(x = 0, y = 0)         file_name = Entry(root, width=30)       #Поле ввода         text1 = Label(root, text = 'Введите название файла', bg = 'black', fg = 'white', height = 3)         text2 = Label(root, text = 'Выберите вид спорта,\n информацию по которому\n хотите вывести информацию',bg = '#3f4b59', fg ='white', height = 6)         text3 = Label(root, text = 'Самый молодой спортсмен,\n занимающийся данным видом спорта:', bg = '#3f4b59', fg = 'white')         text4 = Label(root, text = 'Сухомлин Георгий\n 18-ИЭ-2', bg = 'black', fg = 'white')         youngest_sportsmen = Label(root)         QUIT_button = Button(root, text = 'Выйти', command = Quit, bg = '#3f4b59', fg = 'white') # Кнопка завершения работы         Input_button = Button(root, text = 'Открыть', command = name_input, width = 15, bg = '#3f4b59', fg = 'white')  #Кнопка ввода          text1.grid(column = 0, row = 0)         #   "Введите название файла"         text4.grid(column = 3, row = 0)         file_name.grid(column = 1, row = 0)     #   Поле ввода         Input_button.grid(column = 2, row = 0)  #   Кнопка ввода         QUIT_button.grid(column = 0, row = 2)          file_name.focus() # Начальная фокусировка на поле ввода         run()         root.mainloop()   START = Tk() START.title('Добро пожаловать') START.geometry('300x100+850+400') cover = Label(START, bg = 'black',height = 100, width = 100) cover.place(x = 0, y = 0) start_button = Button(START, text = 'Начать работу', command = start, width = 30, height = 5, bg = '#3f4b59', fg = 'white') start_button.place(x = 40, y = 7) START.mainloop() 

java, spring, mysql отображение и создание новых записей

Столкнулся с такой проблемой, создал проект spring’овский, в итоге есть несколько таблиц, главная из которых “Сотрудник” связи таблиц У сотрудника есть столбцы: “id_post”, “id_office”, и когда заполняю таблицу в phpmyadmin все хорошо, но когда гружу страницу с данными из этой таблицы, получаю 500 и

Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [SELECT * FROM employee]; SQL state [S0022]; error code [0]; Column 'id_service' not found.; nested exception is java.sql.SQLException: Column 'id_service' not found. 

и при добавлении, через вебморду, так же получаю 500 и

Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [INSERT INTO employee (surname, name, patronymic, sex, born_date, insurance_certificate, address, id_service, id_post, passportSer, passportNum, passportDate, passportWho, priority) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'id_service' in 'field list' 

я понимаю, что проблема из-за того, что добавил связи, но как решить ее не знаю, в итоге пару вопросов и приложу код ниже

1) Что делать что бы данные в форме отображались, как заполнять таблицу? 2) Как сделать в базе данных, что бы можно было вписывать id_service, а он отображал в поле название этого сервиса, а не айдишник?

Буду признателен за помощь, заранее спасибо! для связи если что tg: @vollspy И как обещал код: EmployeeDaoImpl.java

package com.vebinar.dao;  import com.vebinar.entity.Employee; import com.vebinar.mapper.EmployeeMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository;  import java.util.List;  @Repository public class EmployeeDaoImpl implements EmployeeDao {      @Autowired     public JdbcTemplate jdbcTemplate;      public void save(Employee employee) {         String sql = "INSERT INTO employee (surname, name, patronymic, sex, born_date, insurance_certificate, address, id_service, id_post, passportSer, passportNum, passportDate, passportWho, priority) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";         jdbcTemplate.update(sql, employee.getSurname(), employee.getName(), employee.getPatronymic(), employee.getSex(), employee.getBornDate(), employee.getInsuranceCertificate(), employee.getAddress(), employee.getIdService(), employee.getIdPost(), employee.getPassportSer(), employee.getPassportNum(), employee.getPassportDate(), employee.getPassportWho(), employee.getPriority());     }      public Employee getById(int idEmployee) {         String sql = "SELECT * FROM employee WHERE id_employee=?";         return jdbcTemplate.queryForObject(sql, new EmployeeMapper(), idEmployee);     }      public List<Employee> findAll() {         String sql = "SELECT * FROM employee";         return jdbcTemplate.query(sql, new EmployeeMapper());     }      public void update(Employee employee) {         String sql = "UPDATE employee SET surname=?, name=?, patronymic=?, sex=?, born_date=?, insurance_certificate=?, address=?, id_service=?, id_post=?, passportSer=?, passportNum=?, passportDate=?, passportWho=?, priority=? WHERE id_employee=?";         jdbcTemplate.update(sql, employee.getSurname(), employee.getName(), employee.getPatronymic(), employee.getSex(), employee.getBornDate(), employee.getInsuranceCertificate(), employee.getAddress(), employee.getIdService(), employee.getIdPost(), employee.getPassportSer(), employee.getPassportNum(), employee.getPassportDate(), employee.getPassportWho(), employee.getPriority(), employee.getIdEmployee());      }      public void delete(int idEmployee) {         String sql = "DELETE FROM employee WHERE id_employee=?";         jdbcTemplate.update(sql, idEmployee);     } } 

createEmployee.ftl

<!DOCTYPE html> <html lang="en"> <head>     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"/>      <meta content="text/html" charset="UTF-8">     <title>Создание сотрудника</title> </head> <body>     <nav class="container">         <nav class="navbar navbar-expand-lg navbar-light bg-light">             <a class="navbar-brand" href="#">####</a>             <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">                 <span class="navbar-toggler-icon"></span>             </button>             <div class="collapse navbar-collapse" id="navbarNavAltMarkup">                 <div class="navbar-nav">                     <a class="nav-item nav-link" href="/main">Профосмотр</a>                     <a class="nav-item nav-link" href="/handbook">Справочник</a>                 </div>                 <a href="/employees">                     <button type="button" class="btn btn-info my-2 my-sm-0">                         Отмена                     </button>                 </a>             </div>         </nav>     </nav>      <div class="container">         <form name="employee" action="/addEmployee" method="post">             <div class="form-group">                 <label for="exampleInputEmail1">Фамилия</label>                 <input type="text" name="surname" class="form-control" id="exampleInputEmail1" placeholder="Фамилия">             </div>             <div class="form-group">                 <label for="exampleInputEmail1">Имя</label>                 <input type="text" name="name" class="form-control" id="exampleInputEmail1" placeholder="Имя">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">Отчетсво</label>                 <input type="text" name="patronymic" class="form-control" id="exampleInputEmail1" placeholder="Отчетство">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">Пол</label>                 <input type="text" name="sex" class="form-control" id="exampleInputEmail1" placeholder="Пол">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">Дата рождения</label>                 <input type="date" name="bornDate" class="form-control" id="exampleInputEmail1" placeholder="Год-месяц-день">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">Страховой сертификат</label>                 <input type="text" name="insuranceCertificate" class="form-control" id="exampleInputEmail1" placeholder="Старховой сертификат">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">Адрес</label>                 <input type="text" name="address" class="form-control" id="exampleInputEmail1" placeholder="Адрес">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">Id Service</label>                 <input type="text" name="idService" class="form-control" id="exampleInputEmail1" placeholder="Id Service">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">Id Post</label>                 <input type="text" name="idPost" class="form-control" id="exampleInputEmail1" placeholder="Id Post">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">passportSer</label>                 <input type="text" name="passportSer" class="form-control" id="exampleInputEmail1" placeholder="passportSer">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">passportnum</label>                 <input type="text" name="passportNum" class="form-control" id="exampleInputEmail1" placeholder="passportNum">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">passportdate</label>                 <input type="date" name="passportDate" class="form-control" id="exampleInputEmail1" placeholder="passportDate">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">passportwho</label>                 <input type="text" name="passportWho" class="form-control" id="exampleInputEmail1" placeholder="passportWho">             </div>             <div class="form-group">                 <label for="exampleInputPassword1">priority</label>                 <input type="text" name="priority" class="form-control" id="exampleInputEmail1" placeholder="priority">             </div>             <button type="submit" class="btn btn-primary">OK</button>         </form>     </div> </body> </html> 

employeeList.ftl

<!DOCTYPE html> <html lang="en"> <head>     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"/>      <meta content="text/html" charset="UTF-8">     <title>Список сотрудников</title> </head> <body> <div class="container">         <nav class="navbar navbar-expand-lg navbar-light bg-light">             <a class="navbar-brand" href="#">####</a>             <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">                 <span class="navbar-toggler-icon"></span>             </button>             <div class="collapse navbar-collapse" id="navbarNavAltMarkup">                 <div class="navbar-nav">                     <a class="nav-item nav-link" href="/main">Профосмотр</a>                     <a class="nav-item nav-link" href="/handbook">Справочник</a>                 </div>                 <a href="/addEmployee">                     <button type="button" class="btn btn-info my-2 my-sm-0">                         Добавление сотрудника                     </button>                 </a>             </div>             <form class="form-inline">                 <input class="form-control mr-sm-2" type="search" placeholder="" aria-label="Search">                 <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Поиск</button>             </form>         </nav>     </nav>           <div class="card">             <div class="card-block">                 <table class="table" >                     <tr>                         <th>Номер</th>                         <th>Фамилия</th>                         <th>Имя</th>                         <th>Андреевич</th>                         <th>Пол</th>                         <th>Дата рождения</th>                         <th>Старховое свидетельство</th>                         <th>Адрес</th>                         <th>Удалить</th>                         <th>Обновить</th>                     </tr>                 <#list employees as employee>                     <tr>                         <td><a href="/employee/$  {employee.idEmployee}">$  {employee.idEmployee}</a></td>                         <td>$  {employee.surname}</td>                         <td>$  {employee.name}</td>                         <td>$  {employee.patronymic}</td>                         <td>$  {employee.sex}</td>                         <td>$  {employee.bornDate}</td>                         <td>$  {employee.insuranceCertificate}</td>                         <td>$  {employee.address}</td>                         <td>                             <a href="/delete/$  {employee.idEmployee}">                                 <button type="button" class="btn btn-danger">                                     Delete                                 </button>                             </a>                         </td>                         <td>                             <a href="/update/$  {employee.idEmployee}">                                 <button type="button" class="btn btn-warning">                                     Update                                 </button>                             </a>                         </td>                     </tr>                 </#list>                 </table>             </div>         </div> </div>  </body> </html>  

EmployeeController.java

package com.vebinar.controller;   import com.vebinar.entity.Employee; import com.vebinar.entity.Factor; import com.vebinar.service.EmployeeService; import com.vebinar.service.FactorService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*;  @Controller @RequestMapping("/") public class EmployeeController {      @Autowired     public EmployeeService employeeService;      @GetMapping("/")     public String index() {         return "index";     }      @GetMapping("/handbook")     public String handbook() {         return "handbook";     }      @GetMapping("/main")     public String main() {         return "MainPage";     }      @GetMapping("/employees")     public String getAllEmployees(Model model) {         model.addAttribute("employees", employeeService.findAll());         return "employeesList";     }      @GetMapping("/employee/{idEmployee}")     public String getById(@PathVariable("idEmployee") int idEmployee, Model model) {         model.addAttribute("employee", employeeService.getById(idEmployee));         return "showEmployee";     }      @GetMapping("/addEmployee")     public String createUserPage() {         return "createEmployee";     }      @PostMapping("/addEmployee")     public String addEmployee(@ModelAttribute("employee")Employee employee) {         employeeService.save(employee);         return "redirect:/employees";     }      @PostMapping("/updateEmployee")     public String updateEmployee(@ModelAttribute("employee") Employee employee) {         employeeService.update(employee);         return "redirect:/employee/" + employee.getIdEmployee();     }      @GetMapping("/update/{idEmployee}")     public String update(@PathVariable("idEmployee") int idEmployee, Model model) {         model.addAttribute("employee", employeeService.getById(idEmployee));         return "editEmployee";     }      @GetMapping("/delete/{idEployee}")     public String deleteEmployee(@PathVariable("idEmployee") int idEmployee) {         employeeService.delete(idEmployee);         return "redirect:/employees";     }    } 

Создание строк в MySQL

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

введите сюда описание изображения

Таблица product_attribute

У меня есть список (около 1000 значений) для product_id, все остальные значения будут одинаковые. Спасибо.

Go, создание массива с map-ми

Подскажите, пожалуйста, как решить задачу Я создпю переменную res

res := make(map[string]uint) 

в которую потом добавляю значения

res[model.CreatedAt.Format("2006-01-02")] = model.ID 

в итоге у меня получается следующее:

{“2019-04-29″:3,”2019-04-30″:5,”2019-05-01″:4,”2019-05-02″:4,”2019-05-03”:4}

Вопрос: как модифицировать код, чтобы вывод был в таком формате?

[{“date”: “2019-04-29”, “count”: 3,}…..]

Т.е. массив map-ов

Я некоторые моменты не стал писать, проблема в том, как определить такой массив и собственно добавлять туда циклом данные.

Заранее спасибо!