Whats the frequency of the letter d in:
Q: Обмен с БД Java паттерн DAO Реализую Java-приложение, которое общается с БД - вывод данных на экран, insert, update, delete.
Из простых сущностей есть таблица tags, которая содержит: id, name, color, order_num.
Как я понял паттерн DAO, то я должен сделать следующее:

*

*interface TagsDao

*В интерфейсе определить методы: insert, update, select (будут содержать непосредственно выполнение SQL-запросов к БД через JDBC)

*class Tag implements TagsDao c переменными id, name, color, order_num

*Для того, чтобы получить все тэги, то в интерфейсе мне также нужно определить метод get с запросом
SELECT id, name, color, order_num FROM tags; который возвращает List < Tag > allTags и с этим allTags работать уже в Java.

*Когда я что-то делаю с какой-то переменной класса Tag в приложении, то я одновременно обращаюсь к методу DAO и обновляю сущность в БД.

Правильно ли я понял паттерн DAO для работы с БД в моём случае?

A: То, что Вы описали, это стандартный механизм использования DAO. Единственная оговорка:

Для того, чтобы получить все тэги, то в интерфейсе мне также нужно
определить метод get с запросом SELECT id, name, color, order_num FROM
tags; который возвращает List < Tag > allTags и с этим allTags
работать уже в Java.

Совсем необязательно выбирать из БД всё. Можно использовать отбор с помощью того же WHERE Более того выборку всех данных имеет смысл делать, если она действительно нужна (даже для общих списков используют частичную выборку данных с пагинацией), т.к. данных может быть очень много и их получение и обработка может быть очень затратной операцией.

user
The text includes 19 "d"s in total.
assistant