#spring #spring-boot #rest
Вопрос:
Я пытаюсь создать базу данных, в которой будут храниться цены на активы, полученные с бирж. Я создал класс Exchange, который содержит переменные, представляющие собой различные цены. В моем коде у меня есть следующее:
try{
Exchange Coinbase = new Exchange();
Coinbase.setName("Coinbase");
Coinbase.setBtcBuy(priceRequestCoinbase(btcBuy));
Coinbase.setBtcSell(priceRequestCoinbase(btcSell));
Coinbase.setEthBuy(priceRequestCoinbase(ethBuy));
Coinbase.setEthSell(priceRequestCoinbase(ethSell));
Сейчас я просто пытаюсь понять, как я мог бы добавить это в свою базу данных, чтобы позже к нему можно было получить доступ через вызовы api.
Ответ №1:
Вы всегда можете преобразовать это в строку json с помощью objectmapper и сохранить в виде текста / json в вашей БД. API может вернуть это и напрямую преобразовать в ваш объект exchange. Добавление: лучшим способом было бы иметь таблицу exchange с именами ваших полей в виде столбцов. Создайте класс репозитория, реализующий jparepository для вашего объекта exchange. Аннотируйте свой объект exchange аннотацией @entity и автоматически созданным идентификатором. Используйте встроенный метод сохранения jpa для сохранения в БД.
Также по стандартам Java имена переменных должны начинаться со строчной буквы (coinbase)
Комментарии:
1. Спасибо. Таким образом, я мог бы преобразовать объект coinbase в строку, выполнив что-то вроде String jsonString = ObjectMapper.writeValueAsString(Coinbase);? И этот вызов будет выполнен после всех этих наборов, да? Кроме того, как бы мне на самом деле сохранить его в БД?
2. Правильным способом было бы иметь таблицу exchange с полями в виде столбцов. Тогда вам не нужно было бы преобразовывать в строку или что-то еще, просто используйте репозиторий jpa для сохранения вашего объекта в db. Если это невозможно и весь объект должен быть сохранен целиком, вы можете сохранить его в текстовом столбце в БД в виде строки json. Лучше первый способ.
3. Я бы посоветовал вам сделать это. Взгляните на Spring Data JPA ( baeldung.com/the-persistence-layer-with-spring-data-jpa и baeldung.com/the-persistence-layer-with-spring-and-jpa ), чтобы вы могли сопоставить реляционную базу данных с вашими объектами Java.