Почему MySQL -запрос терпит неудачу, когда ResultSet помещается в jsonarray?MySql

Форум по Mysql
Ответить
Anonymous
 Почему MySQL -запрос терпит неудачу, когда ResultSet помещается в jsonarray?

Сообщение Anonymous »

У меня есть запрос, который работает нормально, когда вводится вручную в MySQL Workbench, но терпит неудачу при вводе из пружинной загрузки. Ручной запрос: < /p>

Код: Выделить всё

"select labs.collected,biovals.value,biomark.high,biomark.low,biomark.name,biomark.unit from labs\n" + //
"inner join biovals on labs.id = biovals.lab_id\n" + //
"inner join biomark on biovals.biomar_id = biomark.id\n" + //
"where labs.collected='2010-10-29'"
< /code>
Ручной запрос возвращает 76 строк, подобных этому < /p>
collected     value   high    low     name          unit
'2010-10-29', '4.4',  '10.8', '3.4',  'WBC',        'x10E3/uL'
'2010-10-29', '5.1',  '6',    '3.77', 'RBC',        'x10E6/uL'
'2010-10-29', '16',   '18',   '11.1', 'Hemoglobin', 'g/dL'
'2010-10-29', '46.9', '55',   '34',   'Hematocrit', '%'
< /code>
Я бы хотел, чтобы Spring Boot вернул аналогичный в jsonarray.  Ожидаемый выход: < /p>
[
{"collected":"2010-10-29", "value":"4.4", "high":"10.8", "low": "3.4", "name":"WBC", "unit":"x10E3/uL"}
...
]
labcontroller.java

Код: Выделить всё

@GetMapping("/get-biovals-by-date")
public JSONArray getBiovalsByDate() {
JSONArray biovalsByDate = labService.getBiovalsByDate();
return biovalsByDate;
}
labservice.java

Код: Выделить всё

@Service
public interface LabService {
JSONArray getBiovalsByDate();
}
написанного значения

Код: Выделить всё

@Component
public class LabServiceImpl implements LabService {
@Autowired
BiovalRepo biovalRepo;

public JSONArray getBiovalsByDate() {
JSONArray jsonArray = new JSONArray();
try {
ResultSet rs = biovalRepo.getBiovalsByDate();  //error happens here
while (rs.next()) {
int columns = rs.getMetaData().getColumnCount();
JSONObject obj = new JSONObject();
for (int i = 0; i < columns; i++)
obj.put(rs.getMetaData().getColumnLabel(i + 1).toLowerCase(), rs.getObject(i + 1));
jsonArray.put(obj);
}
} catch (SQLException e) {
e.printStackTrace();
}
return jsonArray;
}
}
biorepo.java
@Repository
public interface BiovalRepo extends JpaRepository {

@Query(value = "select labs.collected,biovals.value,biomark.high,biomark.low,biomark.name,biomark.panel,biomark.unit from labs\n" + //
"inner join biovals on labs.id = biovals.lab_id\n" + //
"inner join biomarkers on biovals.biomarker_id = biomarkers.id\n" + //
"where labs.date_collected='2010-10-29'", nativeQuery = true)
ResultSet getBiovalsByDate();
}
< /code>
Когда это запускается, ошибка показывает < /p>

Запрос не вернул уникальный результат: 76 результатов были возвращены < /p>
< /blockquote>
Что я делаю не так? < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... -jsonarray
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»