Quickstarters
CRUD Samples
How to Build a Basic CRUD App with Java?
34 мин
введение в этом руководстве вы научитесь создавать полнофункциональное crud (создание, чтение, обновление, удаление) приложение с использованием java мы будем использовать back4app в качестве серверного решения для легкого управления вашими данными этот учебник демонстрирует основные функции системы crud, показывая, как настроить проект back4app, разработать гибкую модель данных и реализовать операции crud с помощью java приложения сначала вы настроите проект back4app под названием basic crud app java который предоставляет надежную среду для хранения нереляционных данных для вашего приложения вы определите свою модель данных, создавая классы и поля вручную или с помощью ai агента back4app после этого вы будете управлять своим сервером с помощью приложения back4app admin app, удобного интерфейса перетаскивания для манипуляции данными наконец, вы интегрируете свое java приложение с back4app, используя parse java sdk (или rest/graphql по мере необходимости), реализуя при этом безопасные механизмы контроля доступа к концу этого учебника вы разработаете готовое к производству java приложение, которое выполняет основные операции crud, включая безопасную аутентификацию пользователей и управление данными ключевые выводы узнайте, как создать приложение crud на java с эффективным нереляционным бэкендом получите представление о структуре масштабируемого бэкенда и интеграции его с приложением на java узнайте, как использовать интуитивно понятное приложение admin от back4app для упрощения операций создания, чтения, обновления и удаления изучите стратегии развертывания, включая контейнеризацию docker, чтобы развернуть ваше приложение на java без проблем предварительные требования перед началом убедитесь, что у вас есть аккаунт back4app с настроенным новым проектом нужна помощь? ознакомьтесь с началом работы с back4app https //www back4app com/docs/get started/new parse app среда разработки java используйте ide, такую как intellij idea или eclipse убедитесь, что у вас установлена java 11 (или новее) знание java, объектно ориентированного программирования и rest api при необходимости ознакомьтесь с документацией по java https //docs oracle com/en/java/ шаг 1 – настройка проекта создание нового проекта back4app войдите в свою учетную запись back4app нажмите кнопку “новое приложение” на вашей панели управления введите имя проекта basic crud app java и следуйте инструкциям для завершения создания проекта создать новый проект после создания вашего проекта он будет отображаться на вашей панели управления, предоставляя основу для настройки вашего бэкенда шаг 2 – проектирование модели данных настройка ваших структур данных для этого crud приложения вы определите несколько классов (коллекций) в вашем проекте back4app следующие примеры описывают ключевые классы и их поля, необходимые для поддержки основных операций crud 1\ класс предметов этот класс содержит детали о каждом предмете поле тип данных описание ид идентификаторобъекта автоматически сгенерированный уникальный идентификатор название строка название элемента описание строка краткое резюме предмета создано дата время создания элемента обновлено дата время, когда элемент был в последний раз изменен 2\ класс пользователей этот класс управляет учетными данными пользователей и деталями аутентификации поле тип данных описание ид идентификатор объекта автоматически сгенерированный уникальный идентификатор имя пользователя строка уникальный идентификатор для пользователя электронная почта строка уникальный адрес электронной почты хешпароля строка зашифрованный пароль для аутентификации создано дата время, когда была создана учетная запись обновлено дата время, когда аккаунт был обновлён вы можете вручную создать эти классы и определить поля в панели управления back4app создать новый класс вы можете добавлять поля, выбирая тип данных, указывая имя поля, назначая значение по умолчанию и указывая, является ли оно обязательным создать колонку использование ai агента back4app для настройки схемы ai агент back4app — это умный инструмент, интегрированный в вашу панель управления, который может автоматически генерировать вашу схему данных на основе вашего описания эта функция упрощает настройку проекта и гарантирует, что ваша модель данных поддерживает необходимые операции crud шаги для использования ai агента получите доступ к ai агенту войдите в свою панель управления back4app и найдите ai агента в настройках вашего проекта опишите вашу модель данных предоставьте подробный запрос, описывающий необходимые классы и поля просмотрите и примените после обработки ai агент предложит настройку схемы просмотрите детали и подтвердите, чтобы реализовать конфигурацию пример запроса create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) этот подход, основанный на ии, экономит время и гарантирует последовательную, оптимизированную модель данных для вашего приложения шаг 3 – активация админ приложения и управление crud операциями введение в админ приложение админ приложение back4app предлагает интерфейс без кода для эффективного управления данными на сервере его интуитивно понятная функция перетаскивания упрощает выполнение crud операций, таких как создание, просмотр, обновление и удаление записей активация админ приложения перейдите в меню “дополнительно” на вашей панели управления back4app выберите “админ приложение” и затем нажмите на “включить админ приложение ” настройте свои учетные данные администратора создав свою первоначальную учетную запись администратора этот процесс также установит роли (такие как b4aadminuser ) и системные классы включить админ приложение после активации войдите в админ приложение, чтобы управлять данными вашего приложения панель управления админ приложением использование админ приложения для задач crud в приложении admin вы можете добавить записи используйте опцию “добавить запись” в классе (например, элементы), чтобы вставить новые данные просмотреть/изменить записи нажмите на любую запись, чтобы просмотреть детали или отредактировать поля удалить записи удалите записи, которые больше не нужны этот упрощенный интерфейс улучшает пользовательский опыт, упрощая управление данными шаг 4 – интеграция вашего java приложения с back4app с настроенным бэкендом следующим шагом является подключение вашего java приложения к back4app вариант a использование parse java sdk добавьте зависимость parse java sdk если вы используете maven, включите следующее в ваш pom xml \<dependency> \<groupid>com parse\</groupid> \<artifactid>parse sdk\</artifactid> \<version>1 18 0\</version> \</dependency> инициализируйте parse в вашем java приложении создайте класс конфигурации (например, parseconfig java ) // parseconfig java import com parse parse; public class parseconfig { public static void initialize() { parse initialize(new parse configuration builder("your application id") clientkey("your java key") server("https //parseapi back4app com") build()); } } реализуйте операции crud в классе java например, создайте сервис для получения и отображения элементов // itemsservice java import com parse parseexception; import com parse parseobject; import com parse parsequery; import java util list; public class itemsservice { public list\<parseobject> getitems() { parsequery\<parseobject> query = parsequery getquery("items"); try { return query find(); } catch (parseexception e) { system err println("failed to fetch items " + e getmessage()); return null; } } public void createitem(string title, string description) { parseobject item = new parseobject("items"); item put("title", title); item put("description", description); try { item save(); system out println("item created successfully "); } catch (parseexception e) { system err println("error creating item " + e getmessage()); } } public void updateitem(string objectid, string newtitle, string newdescription) { parsequery\<parseobject> query = parsequery getquery("items"); try { parseobject item = query get(objectid); item put("title", newtitle); item put("description", newdescription); item save(); system out println("item updated successfully "); } catch (parseexception e) { system err println("error updating item " + e getmessage()); } } public void deleteitem(string objectid) { parsequery\<parseobject> query = parsequery getquery("items"); try { parseobject item = query get(objectid); item delete(); system out println("item deleted successfully "); } catch (parseexception e) { system err println("error deleting item " + e getmessage()); } } } вариант b использование rest или graphql если java sdk parse не является вариантом, вы можете выполнять операции crud через rest вызовы например, чтобы получить элементы с помощью rest import java io bufferedreader; import java io inputstreamreader; import java net httpurlconnection; import java net url; public class restclient { public static void fetchitems() { try { url url = new url("https //parseapi back4app com/classes/items"); httpurlconnection conn = (httpurlconnection) url openconnection(); conn setrequestmethod("get"); conn setrequestproperty("x parse application id", "your application id"); conn setrequestproperty("x parse rest api key", "your rest api key"); bufferedreader in = new bufferedreader(new inputstreamreader(conn getinputstream())); string inputline; stringbuilder response = new stringbuilder(); while ((inputline = in readline()) != null) { response append(inputline); } in close(); system out println("response " + response tostring()); } catch (exception e) { system err println("error fetching items " + e getmessage()); } } } интегрируйте эти api вызовы в ваши java классы по мере необходимости шаг 5 – защита вашего бэкенда списки управления доступом (acl) защитите свои данные, настроив acl для ваших объектов например, чтобы создать элемент, видимый только его владельцу import com parse parseacl; import com parse parseuser; public void createprivateitem(string title, string description, parseuser owner) { parseobject item = new parseobject("items"); item put("title", title); item put("description", description); parseacl acl = new parseacl(); acl setreadaccess(owner, true); acl setwriteaccess(owner, true); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { item save(); system out println("private item created "); } catch (parseexception e) { system err println("error saving item " + e getmessage()); } } разрешения на уровне класса (clp) настройте clp в вашей панели управления back4app, чтобы установить правила доступа по умолчанию эта настройка гарантирует, что только аутентифицированные пользователи могут получить доступ к определенным классам шаг 6 – реализация аутентификации пользователей настройка учетных записей пользователей back4app использует встроенный класс пользователя parse для управления аутентификацией в вашем java приложении управляйте регистрацией и входом пользователей, как показано ниже import com parse parseexception; import com parse parseuser; public class authservice { public void signup(string username, string password, string email) { parseuser user = new parseuser(); user setusername(username); user setpassword(password); user setemail(email); try { user signup(); system out println("user successfully registered!"); } catch (parseexception e) { system err println("sign up error " + e getmessage()); } } public void login(string username, string password) { try { parseuser user = parseuser login(username, password); system out println("user logged in " + user getusername()); } catch (parseexception e) { system err println("login failed " + e getmessage()); } } } аналогичный подход можно применить для управления сессиями, сброса паролей и дополнительных функций аутентификации шаг 7 – развертывание вашего java приложения back4app предлагает упрощенный процесс развертывания вы можете развернуть ваше java приложение, используя различные методы, включая контейнеризацию docker 7 1 создание вашего java приложения компиляция и упаковка используйте ваш инструмент сборки (например, maven или gradle), чтобы скомпилировать и упаковать ваше приложение для maven выполните mvn clean package проверьте пакет убедитесь, что сгенерированный jar файл содержит все необходимые классы и ресурсы 7 2 организуйте структуру вашего проекта типичная структура java проекта может выглядеть следующим образом basic crud app java/ \| src/ \| | main/ \| | java/ \| | com/ \| | yourdomain/ \| | app java \| | parseconfig java \| | services/ \| | itemsservice java \| | authservice java \| | resources/ \| | application properties \| pom xml \| readme md пример parseconfig java // parseconfig java import com parse parse; public class parseconfig { public static void initialize() { parse initialize(new parse configuration builder("your application id") clientkey("your java key") server("https //parseapi back4app com") build()); } } 7 3 докеризация вашего java приложения если вы выбираете контейнеризированное развертывание, включите dockerfile в корневую папку вашего проекта \# use an openjdk image as the base from openjdk 11 jre slim \# set the working directory workdir /app \# copy the packaged jar into the container copy target/basic crud app java jar app jar \# expose the port (adjust if needed) expose 8080 \# run the application entrypoint \["java", " jar", "app jar"] 7 4 развертывание с помощью back4app web deployment свяжите ваш репозиторий github убедитесь, что исходный код вашего java проекта размещен на github настройте параметры развертывания в вашей панели управления back4app выберите функцию web deployment и свяжите ваш репозиторий (например, basic crud app java ), и выберите соответствующую ветку установите команды сборки и вывода определите команду сборки (например, mvn clean package ) и укажите местоположение артефакта разверните ваше приложение нажмите deploy и следите за журналами развертывания, пока ваше приложение не станет доступным шаг 8 – заключение и следующие шаги поздравляем! вы успешно создали приложение crud на java, интегрированное с back4app вы настроили проект под названием basic crud app java , разработали классы для элементов и пользователей, и управляли своими данными с помощью приложения back4app admin кроме того, вы подключили свое java приложение через parse sdk (или rest/graphql) и реализовали надежные меры безопасности следующие шаги улучшите приложение добавьте больше функций, таких как расширенный поиск, детализированные представления или обновления в реальном времени расширьте функциональность бэкенда изучите облачные функции, интеграции с api третьих сторон или управление доступом на основе ролей углубите свои знания посмотрите документацию back4app https //www back4app com/docs и дополнительные учебные материалы, чтобы еще больше оптимизировать ваше приложение счастливого кодирования и удачи с вашим приложением crud на java!