С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.10.2024
Сообщений: 10

У меня проблема с автоматическим созданием таблиц в базе данных PostgreSQL. Использую Spring Boot с Hibernate, н

28.01.2025, 09:58. Показов 1524. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
application.properties:

properties
Копировать
Редактировать
spring.datasource.url=jdbcostgresql://localhost:5432/testdb
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQ LDialect
spring.jpa.hibernate.ddl-auto=update
Модель:

java
Копировать
Редактировать
@Entity
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String name;

private String email;

// геттеры и сеттеры
}
Приложение запускается без ошибок, но таблица user в базе так и не создается. Проверил подключение к базе — все в порядке. В чем может быть проблема?





78 JUnit аннотации @Test, @DisplayName.
JUnit — это популярный фреймворк для тестирования в Java, который позволяет разработчикам писать и выполнять тесты для проверки корректности работы их кода. Две важные аннотации в JUnit — это @Test и @DisplayName.
Аннотация @Test
Назначение: Используется для обозначения метода как теста. Метод, помеченный этой аннотацией, будет выполнен как тестовый случай.
Пример использования:
import org.junit.jupiter.api.Test;
public class MyTests {
@Test
void testAddition() {
int sum = 1 + 1;
assertEquals(2, sum);
}
}
Особенности:
 Метод, помеченный @Test, не должен возвращать значение и не должен принимать аргументы.
 Если тест не проходит, JUnit сообщает об этом, и тест считается неуспешным.
Аннотация @DisplayName
Назначение: Позволяет задать человекочитаемое имя для теста, которое будет отображаться в отчетах о тестировании. Это помогает сделать выводы более понятными и удобными для чтения.
Пример использования:
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
public class MyTests {
@Test
@DisplayName("Проверка сложения двух чисел")
void testAddition() {
int sum = 1 + 1;
assertEquals(2, sum);
}
}
Особенности: Имя, заданное с помощью @DisplayName, может содержать пробелы и специальные символы, что позволяет создавать более описательные названия для тестов.
79 JUnit аннотации @BeforeEach, @AfterEach.
Аннотация @BeforeEach
Назначение: Метод, помеченный этой аннотацией, выполняется перед каждым тестовым методом в классе. Это позволяет подготовить необходимые ресурсы или установить начальное состояние, которое требуется для выполнения тестов.
Применение: Используется для инициализации объектов, настройки окружения или выполнения других действий, которые должны происходить перед каждым тестом.
Пример для @BeforeEach
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class MyTests {
private int value;
@BeforeEach
void setUp() {
value = 10; // Инициализация перед каждым тестом
}
@Test void testAddition() {
assertEquals(15, value + 5); // Использует value, инициализированное в setUp
}
}
Аннотация @AfterEach
Назначение: Метод, помеченный этой аннотацией, выполняется после каждого тестового метода в классе. Это позволяет выполнить очистку или освободить ресурсы, которые были задействованы в тестах.
Применение: Используется для сброса состояния, освобождения ресурсов или выполнения других действий, которые должны происходить после каждого теста.
Пример для @AfterEach
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
public class MyTests {
private int value;
@BeforeEach void setUp() {
value = 10; // Инициализация перед каждым тестом
}
@AfterEach void tearDown() {
value = 0; // Очистка состояния после каждого теста
}
@Test void testSubtraction() {
assertEquals(5, value - 5); // Использует value, инициализированное в setUp
}
}
80 Тестовые классы и методы JUnit.
Тестовые классы
Определение: Тестовый класс — это класс, содержащий тестовые методы для проверки функциональности определенного компонента приложения.
Конвенция именования: Обычно именуются с добавлением суффикса Test к имени тестируемого класса (например, CalculatorTest).
Структура: Может содержать несколько тестовых методов, а также методы для подготовки и очистки состояния (например, с использованием аннотаций @BeforeEach и @AfterEach).
Тестовые методы
Определение: Тестовый метод — это метод, помеченный аннотацией @Test, который проверяет конкретный аспект функциональности.
Конвенция именования: Имеют описательные имена, отражающие проверяемую функциональность (например, testAddition).
Структура: Не возвращают значение и не принимают аргументы. Внутри тестового метода выполняются проверки с использованием утверждений (assertions).
81 Утверждения JUnit. Класс Assert.
Утверждения (assertions) в JUnit — это методы, которые используются для проверки ожидаемых результатов в тестах. Они позволяют разработчикам убедиться, что код работает так, как задумано, путем сравнения фактических значений с ожидаемыми.
Класс Assert
 Определение: Класс Assert предоставляет статические методы для выполнения утверждений в тестах. Эти методы позволяют проверять различные условия и сравнивать значения.
 Импорт: В JUnit 5 класс Assert заменен на статические методы из класса Assertions, который находится в пакете org.junit.jupiter.api.
Основные методы утверждений
 assertEquals(expected, actual): Проверяет, что два значения равны. Если они не равны, тест завершается с ошибкой.
 assertNotEquals(expected, actual): Проверяет, что два значения не равны.
 assertTrue(condition): Проверяет, что условие истинно.
 assertFalse(condition): Проверяет, что условие ложно.
 assertNull(object): Проверяет, что объект равен null.
 assertNotNull(object): Проверяет, что объект не равен null.
 assertArrayEquals(expectedArray, actualArray): Проверяет, что два массива равны по содержимому.
Утверждения обычно используются внутри тестовых методов для проверки результатов выполнения кода. Например, после вызова метода, который должен вернуть определенное значение, можно использовать assertEquals для проверки, соответствует ли возвращаемое значение ожидаемому.
82 Тестирование исключений JUnit.
Тестирование исключений в JUnit позволяет проверять, что методы выбрасывают ожидаемые исключения при возникновении ошибок или некорректных входных данных. Это важный аспект обеспечения надежности кода.
Основные подходы к тестированию исключений
 Аннотация @Test с параметром expected (JUnit 4): Позволяет указать ожидаемое исключение. Если метод выбрасывает это исключение, тест считается успешным.
 Метод assertThrows (JUnit 5): Рекомендуется для проверки исключений. Он позволяет вызывать код и проверять, выбрасывается ли ожидаемое исключение, а также предоставляет возможность дополнительно проверять сообщение исключения.
Преимущества тестирования исключений
 Улучшение надежности: Убедитесь, что код корректно обрабатывает ошибки.
 Документация поведения: Тесты служат документацией, показывая, как метод должен реагировать на некорректные входные данные.
83 Генератор документирования Javadoc. Виды комментариев.
Javadoc — это инструмент, входящий в состав JDK, который автоматически генерирует документацию для Java-кода в формате HTML, используя специальные комментарии, называемые Javadoc-комментариями.
Основные виды комментариев Javadoc
 Комментарии для классов: Описывают назначение и функциональность класса. Размещаются перед объявлением класса.
 Комментарии для методов: Описывают, что делает метод, его параметры, возвращаемое значение и возможные исключения. Размещаются перед объявлением метода.
 Комментарии для полей: Описывают назначение и использование полей класса. Размещаются перед объявлением поля.
 Теги для параметров и возвращаемых значений:
• @param: Описание параметров метода.
• @return: Описание возвращаемого значения.
• @throws или @exception: Описание исключений, которые может выбросить метод.
 Теги для ссылок:
• @see: Указывает ссылки на другие классы или методы.
• @link: Вставляет ссылки в текст комментария.
84 Дескрипторы Javadoc.
Дескрипторы Javadoc — это специальные теги и конструкции, используемые в Javadoc-комментариях для структурирования и улучшения документации, создаваемой из исходного кода Java. Они помогают разработчикам предоставлять более детальную и организованную информацию о классах, методах и полях, а также о других элементах кода.
Основные дескрипторы Javadoc
Теги для описания:
• @param: Описывает параметры метода. Указывает тип и назначение каждого параметра.
• @return: Описывает возвращаемое значение метода, указывая, что именно возвращает метод.
• @throws или @exception: Описывает исключения, которые может выбросить метод, что помогает пользователям понимать, какие ошибки могут возникнуть.
Теги для ссылок:
• @see: Указывает на другие классы, методы или поля, которые могут быть полезны для понимания контекста.
• @link: Позволяет вставлять ссылки в текст комментария, что делает документацию более интерактивной.
Теги для дополнительной информации:
• @deprecated: Указывает, что класс или метод устарел и не рекомендуется к использованию. Обычно сопровождается описанием альтернатив.
• @since: Указывает, начиная с какой версии библиотеки или приложения был добавлен класс или метод.
• @author: Указывает автора класса или метода, что может быть полезно для отслеживания изменений и поддержки кода.
• @version: Указывает версию класса или метода, что помогает в управлении версиями и изменениями.
Теги для структурирования:
• @code и @endcode: Используются для выделения фрагментов кода в документации, что делает ее более читабельной.
• @literal: Позволяет вставлять текст, который не будет интерпретироваться как HTML или Javadoc-теги, что полезно для отображения специальных символов.


ЗАДАЧИ
1. Условие: «Реализовать программу для выполнения следующих математических операций с целочисленным, байтовым и вещественным типами данных: сложение, вычитание, умножение, деление, деление по модулю (остаток), модуль числа, возведение в степень. Все данные вводятся с клавиатуры (класс Scanner, System.in, nextint).» По данному условию необходимо реализовать программу с интерактивным консольным меню, (т.е. вывод списка действий по цифрам. При этом при нажатии на цифру у нас должно выполняться определенное действие). При этом в программе данные пункты должны называться следующим образом: 1. Вывести все таблицы из MySQL. 2. Создать таблицу в MySQL. 3. Сложение чисел, результат сохранить в MySQL с последующим выводом в консоль. 4. Вычитание чисел, результат сохранить в MySQL с последующим выводом в консоль. 5. Умножение чисел, результат сохранить в MySQL с последующим выводом в консоль. 6. Деление чисел, результат сохранить в MySQL с последующим выводом в консоль. 7. Деление чисел по модулю (остаток), результат сохранить в MySQL с последующим выводом в консоль. 8. Возведение числа в модуль, результат сохранить в MySQL с последующим выводом в консоль. 9. Возведение числа в степень, результат сохранить в MySQL с последующим выводом в консоль. 10. Сохранить все данные (вышеполученные результаты) из MySQL в Excel и вывести на экран.



Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
import java.sql.*;
import java.util.Scanner;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
public class MathOperationsWithMySQL {
    private static final String URL = "jdbc:mysql://localhost:3306/testdb";
    private static final String USER = "root";
    private static final String PASSWORD = "1234";
 
    public static void main(String[] args) throws Exception {
        Connection connection = DriverManager.getConnection(URL, USER, PASSWORD);
        Scanner scanner = new Scanner(System.in);
 
        while (true) {
            System.out.println("Меню:");
            System.out.println("1. Вывести все таблицы из MySQL");
            System.out.println("2. Создать таблицу в MySQL");
            System.out.println("3. Сложение чисел");
            System.out.println("4. Вычитание чисел");
            System.out.println("5. Умножение чисел");
            System.out.println("6. Деление чисел");
            System.out.println("7. Деление чисел по модулю (остаток)");
            System.out.println("8. Возведение числа в модуль");
            System.out.println("9. Возведение числа в степень");
            System.out.println("10. Сохранить данные в Excel");
            System.out.println("0. Выход");
            int choice = scanner.nextInt();
 
            if (choice == 0) break;
 
            switch (choice) {
                case 1:
                    DatabaseMetaData metaData = connection.getMetaData();
                    ResultSet tables = metaData.getTables(null, null, "%", new String[]{"TABLE"});
                    while (tables.next()) {
                        System.out.println(tables.getString("TABLE_NAME"));
                    }
                    break;
                case 2:
                    connection.createStatement().executeUpdate(
                            "CREATE TABLE IF NOT EXISTS results (" +
                                    "id INT AUTO_INCREMENT PRIMARY KEY, " +
                                    "operation VARCHAR(50), " +
                                    "result DOUBLE)");
                    System.out.println("Таблица создана.");
                    break;
                case 3:
                    performOperation(connection, scanner, "Сложение", (a, b) -> a + b);
                    break;
                case 4:
                    performOperation(connection, scanner, "Вычитание", (a, b) -> a - b);
                    break;
                case 5:
                    performOperation(connection, scanner, "Умножение", (a, b) -> a * b);
                    break;
                case 6:
                    performOperation(connection, scanner, "Деление", (a, b) -> a / b);
                    break;
                case 7:
                    performOperation(connection, scanner, "Деление по модулю", (a, b) -> a % b);
                    break;
                case 8:
                    System.out.print("Введите число: ");
                    double num = scanner.nextDouble();
                    double absResult = Math.abs(num);
                    saveResult(connection, "Модуль числа", absResult);
                    System.out.println("Результат: " + absResult);
                    break;
                case 9:
                    System.out.print("Введите число: ");
                    double base = scanner.nextDouble();
                    System.out.print("Введите степень: ");
                    double exp = scanner.nextDouble();
                    double powResult = Math.pow(base, exp);
                    saveResult(connection, "Возведение в степень", powResult);
                    System.out.println("Результат: " + powResult);
                    break;
                case 10:
                    saveToExcel(connection);
                    break;
                default:
                    System.out.println("Неверный выбор.");
            }
        }
        scanner.close();
        connection.close();
    }
 
    private static void performOperation(Connection connection, Scanner scanner, String operation, Operation op) throws SQLException {
        System.out.print("Введите первое число: ");
        double a = scanner.nextDouble();
        System.out.print("Введите второе число: ");
        double b = scanner.nextDouble();
        double result = op.calculate(a, b);
        saveResult(connection, operation, result);
        System.out.println("Результат: " + result);
    }
 
    private static void saveResult(Connection connection, String operation, double result) throws SQLException {
        PreparedStatement statement = connection.prepareStatement("INSERT INTO results (operation, result) VALUES (?, ?)");
        statement.setString(1, operation);
        statement.setDouble(2, result);
        statement.executeUpdate();
    }
 
    private static void saveToExcel(Connection connection) throws Exception {
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery("SELECT * FROM results");
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Results");
        Row header = sheet.createRow(0);
        header.createCell(0).setCellValue("ID");
        header.createCell(1).setCellValue("Operation");
        header.createCell(2).setCellValue("Result");
        int rowIndex = 1;
        while (resultSet.next()) {
            Row row = sheet.createRow(rowIndex++);
            row.createCell(0).setCellValue(resultSet.getInt("id"));
            row.createCell(1).setCellValue(resultSet.getString("operation"));
            row.createCell(2).setCellValue(resultSet.getDouble("result"));
        }
        FileOutputStream fos = new FileOutputStream("results.xlsx");
        workbook.write(fos);
        fos.close();
        workbook.close();
        System.out.println("Данные сохранены в results.xlsx");
    }
 
    @FunctionalInterface
    interface Operation {
        double calculate(double a, double b);
    }
}
 
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>org.example</groupId>
    <artifactId>untitled1</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>5.2.3</version> <!-- Укажите актуальную версию -->
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.20.0</version> <!-- Укажите последнюю стабильную версию -->
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.20.0</version>
        </dependency>
    </dependencies>
 
 
    <properties>
        <maven.compiler.source>23</maven.compiler.source>
        <maven.compiler.target>23</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
 
</project>
 
2. Напишите программу, в которой из строки "I have 3 cats, 4 dogs, and 1 turtle" отбираются цифры. Из этих цифр формируется массив.
import java.util.ArrayList;
 
public class Main {
    public static void main(String[] args) {
        String input = "I have 3 cats, 4 dogs, and 1 turtle";
        ArrayList<Integer> digits = new ArrayList<>();
 
        for (char c : input.toCharArray()) {
            if (Character.isDigit(c)) {
                digits.add(Character.getNumericValue(c));
            }
        }
 
        int[] result = digits.stream().mapToInt(Integer::intValue).toArray();
 
        System.out.println("Массив цифр:");
        for (int num : result) {
            System.out.print(num + " ");
        }
    }
}
 
3. Разработайте программу, которая выводит в консоль все цифры, входящие в натуральное число n. К примеру, если дано число 2359, то в консоль выводятся отдельно числа 2, 3, 5, 9.
 
public class Main {
    public static void main(String[] args) {
        int n = 2359;
 
        // Преобразуем число в строку
        String numberString = Integer.toString(n);
 
        // Перебираем каждый символ строки и выводим его
        for (char digit : numberString.toCharArray()) {
            System.out.println(digit);
        }
    }
}
 
 
4. Написать калькулятор для строковых выражений вида " ", где - положительное целое число меньшее 10, записанное словами, например, "четыре", - одна из операций "плюс", "минус", "умножить". Результат выполнения операции вернуть в виде текстового представления числа. Пример: "пять плюс четыре" --> "девять".
import java.util.HashMap;
import java.util.Map;
 
public class Main {
    public static void main(String[] args) {
        String input = "пять плюс четыре";
        System.out.println(calculate(input));
    }
 
    public static String calculate(String input) {
        Map<String, Integer> numberMap = new HashMap<>();
        numberMap.put("один", 1);
        numberMap.put("два", 2);
        numberMap.put("три", 3);
        numberMap.put("четыре", 4);
        numberMap.put("пять", 5);
        numberMap.put("шесть", 6);
        numberMap.put("семь", 7);
        numberMap.put("восемь", 8);
        numberMap.put("девять", 9);
 
        Map<String, String> reverseNumberMap = new HashMap<>();
        reverseNumberMap.put("1", "один");
        reverseNumberMap.put("2", "два");
        reverseNumberMap.put("3", "три");
        reverseNumberMap.put("4", "четыре");
        reverseNumberMap.put("5", "пять");
        reverseNumberMap.put("6", "шесть");
        reverseNumberMap.put("7", "семь");
        reverseNumberMap.put("8", "восемь");
        reverseNumberMap.put("9", "девять");
 
        String[] parts = input.split(" ");
        int num1 = numberMap.get(parts[0]);
        int num2 = numberMap.get(parts[2]);
        String operation = parts[1];
        int result = 0;
 
        if (operation.equals("плюс")) {
            result = num1 + num2;
        } else if (operation.equals("минус")) {
            result = num1 - num2;
        } else if (operation.equals("умножить")) {
            result = num1 * num2;
        }
 
        return reverseNumberMap.get(String.valueOf(result));
    }
}
 
 
 
5.  Напишите программную реализацию бинарного дерева поиска.
6class BinarySearchTree {
    class Node {
        int value;
        Node left, right;
 
        Node(int item) {
            value = item;
            left = right = null;
        }
    }
 
    Node root;
 
    BinarySearchTree() {
        root = null;
    }
 
    void insert(int value) {
        root = insertRec(root, value);
    }
 
    Node insertRec(Node root, int value) {
        if (root == null) {
            root = new Node(value);
            return root;
        }
        if (value < root.value) {
            root.left = insertRec(root.left, value);
        } else if (value > root.value) {
            root.right = insertRec(root.right, value);
        }
        return root;
    }
 
    void inorder() {
        inorderRec(root);
    }
 
    void inorderRec(Node root) {
        if (root != null) {
            inorderRec(root.left);
            System.out.print(root.value + " ");
            inorderRec(root.right);
        }
    }
 
    Node search(Node root, int value) {
        if (root == null || root.value == value) {
            return root;
        }
        if (value < root.value) {
            return search(root.left, value);
        }
        return search(root.right, value);
    }
 
    public static void main(String[] args) {
        BinarySearchTree tree = new BinarySearchTree();
        tree.insert(50);
        tree.insert(30);
        tree.insert(20);
        tree.insert(40);
        tree.insert(70);
        tree.insert(60);
        tree.insert(80);
 
        tree.inorder();
 
        Node result = tree.search(tree.root, 40);
        if (result != null) {
            System.out.println("\nFound: " + result.value);
        } else {
            System.out.println("\nNot Found");
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2025, 09:58
Ответы с готовыми решениями:

Redis cache in spring boot + hibernate + PostgreSQL
Добрый день. Возникло пару вопросов по redis cache в spring boot + hibernate + PostgreSQL. Заранее извиняюсь за nubовские вопросы...

Spring hibernate postgreSQL
Перевожу для деплоя БД из MySQL в PostgreSQL Ну и весь проект меняю. Была такая БД на MySQL: CREATE TABLE `users` ( `name`...

Возникла проблема с созданием таблиц баз данных
Возникла проблема с созданием таблиц баз данных. Задача программы заключается в том, что пользователь мог сам создавать базы данных. ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2025, 09:58
Помогаю со студенческими работами здесь

Java Spring + Hibernate + Postgresql
Добрый день! У меня был проект с использованием Hibernate + Postgres, решил попробовать добавить spring и возникла следующая...

Spring + Hibernate подключение к postgresql 11
Не могу подключиться к бд. Через pgAdmin подключение проходит нормально. ] &lt;?xml version=&quot;1.0&quot;...

Spring boot, Jpa, Hibernate, H2DB
Суть такова я вызываю удаленную процедуру public interface NotificationProcedureRepository extends...

Подключение PostgreSQL к Spring Boot
Столкнулся с проблемой при подключении PostgreSQL к Spring Boot приложению. Пытаюсь создать простое CRUD-приложение для хранения списка...

Spring Boot Hibernate выключить вывод сущностей
У меня есть сущность &quot;User&quot;. Если я ввожу адрес &quot;localhost/users/&quot;, то я получаю список всех юзеров и их персональные данные в формате...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru