как распечатать данные из объекта, возвращаемого базой данных в виде списка объектов? - PullRequest
0 голосов
/ 02 марта 2020

я пытаюсь получить данные весной mvc, в моей базе данных есть 2 строки. поэтому моя база данных возвращает два объекта в виде списка, но я хочу указать c значение из возвращенного объекта

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

SQLQuery query1 = sessionFactory.getCurrentSession()
            .createSQLQuery("SELECT * FROM cart");

таким образом я печатаю список

System.out.println(query1.list());

я получаю результат System.out.println(query1.list());

[[Ljava.lang.Object;@16b2af1c, [Ljava.lang.Object;@6e34df0e]

, но я хочу указать c значение объекта. как получить значение объекта, возвращаемого из базы данных в виде списка ??

помогите пожалуйста .....

Ответы [ 3 ]

1 голос
/ 02 марта 2020

Вам нужно сделать что-то вроде:

List<Cart> results = query1.list(); // list returns a List<T>

for (Cart cart : results){  // Which you iterate 
      System.out.println(cart.getItems());
      System.out.println(cart.getTotalPrice());
}
1 голос
/ 02 марта 2020
query1.list();

Даст вам Object[]. Возможно, вы захотите создать объект (в вашем случае он выглядит как «Корзина»), чтобы иметь возможность десериализовать его и лучше манипулировать им.

Так что теперь, когда у вас есть объект Cart, вы можете сделать это:

List<Cart> cartList = Arrays.asList(query1.list());

Теперь у вас есть список Cart и вы можете делать все, что захотите.

Как печатать все Cart имена:

for (Cart cart : cartList)
    System.println(cart.getName());

Если это не работает, вы можете просто работать с Object[]:

List<Object[]> cartList = query1.list();
for(Object[] cart : cartList)
    System.out.println(cart[0].toString());
0 голосов
/ 02 марта 2020

List.toString() опирается на метод toString() элементов Списка.
Видя результат [Ljava.lang.Object;@16b2af1c,..., класс элементов не переопределяет toString().

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

...