powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / ResultSet
25 сообщений из 26, страница 1 из 2
ResultSet
    #39424987
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех!
ребята подскажите как правильно организовать РезалтСет если,
класс имеет такие атрибуты:
Код: java
1.
2.
3.
4.
5.
private Long id;
    private String fio;
    private SprGroup sprGroup;
    private SprTypeUch sprTypeUch;
    private List<Posesh> poseshList;



сам РезалтСет делал вот так:
Код: java
1.
2.
3.
4.
while (rs.next()) {
                std = new SprStudent(rs.getLong("id"), rs.getString("fio"), ... , ... , ...);
                listStd.add(std);
            }



но не совсем ясно что должен быть вместо точек...
...
Рейтинг: 0 / 0
ResultSet
    #39425041
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы понятия не имеем о том что у вас в resultset и что у вас за типы данных. Но вы спрашиваете как натянуть одно на другое.
Может расскажете что вернул запрос и что у вас за другие типы энумы?
...
Рейтинг: 0 / 0
ResultSet
    #39425084
Фотография ponuch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

должны быть соответствующие параметры класса, значения которых вы получите из rs
...
Рейтинг: 0 / 0
ResultSet
    #39425089
Фотография ponuch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ponuchМузаффар,

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

тьфу.
...
Рейтинг: 0 / 0
ResultSet
    #39425183
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

скажем создал юмл классы грубо говоря Группы и Студенты
Group (Long id, String grp_name) (1)----->(*) Student (Long id, String FIO) выложил картинку

и так в конечном итоге получил вот такие классы

класс Student
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class Student {

    private Long id;
    private String fio;
    private SprGroup sprGroup;
    
    public SprStudent() {
    }

    public SprStudent(Long id, String fio, SprGroup sprGroup) {
        this.id = id;
        this.fio = fio;
        this.sprGroup = sprGroup;
    }
//дальше методы гет и сет



класс Group
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class SprGroup implements Serializable{
    private Long id;
    private String name;
    private List<Student> listStud;

    public SprGroup() {
    }

    public SprGroup(Long id, String name, List<Student> listStud) {
        this.id = id;
        this.name = name;
        this.listStud = listStud;
    }
//дальше методы гет и сет


т.е. эти классы почти что энтити классы только без аннотаций...
а дальше хочу получить содержимое таблиц
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
....
String sql = "select id, fio, id_group from student";
        ConnDB connDB = new ConnDB();
        try {
            conn = connDB.getConn();
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            while (rs.next()) {
                std = new Student(rs.getLong("id"), rs.getString("fio"),
                        rs.getObject("id_group", Group.class)); // именно в этой строке что должен быть? 
                listStd.add(std);
            }
....



и какой будет запрос селект для Группы?

З.Ы. да знаю что с ормами намного проще было бы но просто хочу понять как насколько упрощают орм...

Заранее благодарен!
...
Рейтинг: 0 / 0
ResultSet
    #39425296
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поверьте на слово. ОРМ упрощает код офигеть как. Особенно если у вас не одна ассоциация а десяток. В качестве альтернативы предлагаю гуглить примеры ActiveRecord как JDBC, так и jOOQ. Он и QueryDSL это хороши способ не использовать ORM, но при этом и избавится от тонн boilerplate кода JDBC
...
Рейтинг: 0 / 0
ResultSet
    #39425317
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПоверьте на слово. ОРМ упрощает код офигеть как. Особенно если у вас не одна ассоциация а десяток.
конечно с Вами соглашусь!
авторВ качестве альтернативы предлагаю гуглить примеры ActiveRecord как JDBC, так и jOOQ. Он и QueryDSL это хороши способ не использовать ORM, но при этом и избавится от тонн boilerplate кода JDBC
хорошо.

просто хотел бы посмотреть на сколько огромным будет обычный запрос.
да конечно можно было все это реализовать без ассоциаций тогда не надо было бы всякие листы который и возник такой вопрос... но хотел исходить именно со стороны uml )))
...
Рейтинг: 0 / 0
ResultSet
    #39425425
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффари какой будет запрос селект для Группы?
вы наверно хотели сказать объёдинённое множество студент-группа?
Код: java
1.
2.
SELECT 1,2,2 FROM Table1
JOIN Table2 on Table1.ID = Table1.ID


Непонятен ваш вопрос и сабж в целом.
авторпросто хотел бы посмотреть на сколько огромным будет обычный запрос.
огромный?
Но это не значит что ОРМ плохо и так надо писать).
...
Рейтинг: 0 / 0
ResultSet
    #39425463
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Petro123вы наверно хотели сказать объёдинённое множество студент-группа?
Код: plsql
1.
2.
SELECT 1,2,2 FROM Table1
JOIN Table2 on Table1.ID = Table1.ID



не совсем...
вот к примеру если создаем энтити из бд то получим почти такую структуру как я уже привел ранее только там с аннотациями, и дальше когда пишем JPQL запрос скажем так
Код: java
1.
select o from Table o


то потом мы можем получить связанные объекты к Table, т.е. можно будет получить уже List<Table2> (в зависимости от связи между Table и Table2) или я ошибаюсь?
Petro123Непонятен ваш вопрос и сабж в целом.

может я не совсем правильно выразился? скажем создадим диаграмму классов экспортируем в джава классы создаются почти те классы которые ранее написал вот дальше как быть с выводом данных из таблиц?

Petro123Но это не значит что ОРМ плохо и так надо писать).

я и не говорю что ОРМ плох.
...
Рейтинг: 0 / 0
ResultSet
    #39425467
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарскажем создал юмл классы грубо говоря Группы и Студенты
Group (Long id, String grp_name) (1)----->(*) Student (Long id, String FIO) выложил картинку

и так в конечном итоге получил вот такие классы



Мне кажется вы немного перемудрили.
Объект группа имеет список студентов, это правильно.
Но если вы читаете из рекордсета запись о студенте, и получаете по идентификатору объект группы, то где заполняется список студентов для этой группы???
Он будет пуст в вашем случае, что неправильно.
...
Рейтинг: 0 / 0
ResultSet
    #39425473
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или же просто обходит ЮМЛ, тогда можно не думать об ассоциациях и в Группе List<Student> не будет а у Студента будет просто id_group вместо объекта...

тогда появится другой вопрос зачем ЮМЛ?
...
Рейтинг: 0 / 0
ResultSet
    #39425474
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
вы скрещиваете ежа с ужом.
ResultSet работает БЕЗ ОРМ.
Так:
- вам нужна табличка перечень студентов с группами
- вы ДЛЯ этого ВИ-юз кейса делаете ResultSet
Код: java
1.
2.
SELECT id, g.name, s.name  FROM Table1 s
JOIN Table2 g on g.ID = s.ID


- теперь любым способом переправляете список для таблы на клиента напр. HTML
- хотите перелейте в POJO объекты, хотите JSON
Это без ОРМ.
...
Рейтинг: 0 / 0
ResultSet
    #39425477
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффартогда появится другой вопрос зачем ЮМЛ?
базу проектировать.
...
Рейтинг: 0 / 0
ResultSet
    #39425515
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

значить грубо говоря ЮМЛ ни к чему?
...
Рейтинг: 0 / 0
ResultSet
    #39425520
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарPetro123,
значить грубо говоря ЮМЛ ни к чему?
если в голове можешь удерживать все связи, то ДА.
UML для правильного и большого процесса проектирования....с документацией.
Ещё генераторы классов, но редко imho.
...
Рейтинг: 0 / 0
ResultSet
    #39425521
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123базу проектировать.

для этого существуют более удобные инструменты, или не?
...
Рейтинг: 0 / 0
ResultSet
    #39425523
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, UML это нотация для рисования (вариант).
Поэтому вопросы странные.
...
Рейтинг: 0 / 0
ResultSet
    #39425524
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффардля этого существуют более удобные инструменты, или не?
да.
ErWin
...
Рейтинг: 0 / 0
ResultSet
    #39425527
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

значить класс Студент должен был вот таком виде?:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class Student {

    private Long id;
    private String fio;
    private int idGr;
    
    public SprStudent() {
    }

    public SprStudent(Long id, String fio, int idGr) {
        this.id = id;
        this.fio = fio;
        this.idGr=idGr;
    }



а Группа вот таком
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class SprGroup implements Serializable{
    private Long id;
    private String name;

    public SprGroup() {
    }

    public SprGroup(Long id, String name) {
        this.id = id;
        this.name = name;
    }
...
Рейтинг: 0 / 0
ResultSet
    #39425528
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарPetro123,

значить грубо говоря ЮМЛ ни к чему?
Все зависит от масштаба архитектуры.
Вы же не будете пилить полочку на балкон бензопилой.
В деревья валить простой ножовкой.
Всему свой инструмент.
...
Рейтинг: 0 / 0
ResultSet
    #39425547
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

с Вами согласен, пока что нигде не встречал что разработчики писали диаграммы а потом уже приступили к кодингу... возможно в больших конторах так и делаются... и к тому же обычно хорошо придуманная база над ним энтити и т.д. но без использования ЮМЛ... или я ошибаюсь?
к тому же нигде в примерах не встречал такого подхода
...
Рейтинг: 0 / 0
ResultSet
    #39425551
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,
конечно. Я выше сказал - в крупных проектах. Это "управление процессом проектирования".
Музаффарзначить класс Студент должен был вот таком виде?:
Если это означает мою архитектуру выше что я привёл, то там классы вообще не нужны.
Разве не понял? Там JSON.
...
Рейтинг: 0 / 0
ResultSet
    #39425554
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
- бери хибер и делай маппинг. Тогда всё понятно какие у тебя классы должны быть.
...
Рейтинг: 0 / 0
ResultSet
    #39425557
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Если это означает мою архитектуру выше что я привёл, то там классы вообще не нужны.
ясно получается сервлет который извлекает данные из бд, обрабатывает, передает дальше во вью... и все?
Petro123Разве не понял? Там JSON.
по сути понял, что не надо мучить себя и тем более остальных?
...
Рейтинг: 0 / 0
ResultSet
    #39425591
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарясно получается сервлет который извлекает данные из бд, обрабатывает, передает дальше во вью... и все?
да. Самый простой вариант.
Музаффарпо сути понял, что не надо мучить себя и тем более остальных?
Суть в том, что если есть
while (rs.next()) {
то зачем тебе переливать в другой формат. Надо определиться.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / ResultSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]