Quickstarters
CRUD Samples
如何使用Java构建基本CRUD应用?
32 分
介绍 在本指南中,您将学习如何使用java创建一个功能齐全的crud(创建、读取、更新、删除)应用程序。 我们将利用back4app作为后端服务,轻松管理您的数据。本教程演示了crud系统的核心功能,向您展示如何设置back4app项目,设计灵活的数据模型,并使用java应用程序实现crud操作。 首先,您将配置一个名为 basic crud app java 的back4app项目,为您的应用程序提供强大的非关系数据存储环境。您将通过手动创建类和字段或借助back4app的ai代理来定义数据模型。 接下来,您将使用back4app管理应用程序,使用用户友好的拖放界面进行数据操作。 最后,您将使用parse java sdk(或在需要时使用rest/graphql)将java应用程序与back4app集成,同时实现安全访问控制。 在本教程结束时,您将开发一个生产就绪的java应用程序,执行基本的crud操作,包括安全的用户身份验证和数据管理。 关键要点 了解如何构建基于java的crud应用程序,并使用高效的非关系型后端 深入了解如何构建可扩展的后端,并将其与java应用程序集成 学习如何使用back4app的直观管理应用程序来简化创建、读取、更新和删除操作 探索部署策略,包括docker容器化,以无缝部署您的java应用程序 先决条件 在开始之前,请确保您拥有 一个配置了新项目的back4app账户。 需要帮助吗?查看 使用back4app入门 https //www back4app com/docs/get started/new parse app 一个java开发环境。 使用intellij idea或eclipse等ide。确保您安装了java 11(或更新版本)。 熟悉java、面向对象编程和rest api。 如有必要,请查看 java文档 https //docs oracle com/en/java/ 步骤 1 – 项目设置 创建一个新的 back4app 项目 登录到您的 back4app 账户。 点击您的仪表板上的 “新应用” 按钮 。 输入项目名称: basic crud app java 并按照提示完成项目创建。 创建新项目 一旦您的项目创建完成,它将列在您的仪表板上,为您的后端配置提供基础。 步骤 2 – 设计数据模型 配置您的数据结构 对于这个 crud 应用程序,您将在 back4app 项目中定义几个类(集合)。以下示例概述了支持基本 crud 操作所需的关键类及其字段。 1\ 项目类别 此类别包含有关每个项目的详细信息。 字段 数据类型 描述 id 对象id 自动生成的唯一标识符。 标题 字符串 物品的名称。 描述 字符串 该项目的简短总结。 创建于 日期 项目创建时的时间戳。 更新时间 日期 项目最后修改的时间戳。 2\ 用户类 该类管理用户凭据和身份验证详细信息。 字段 数据类型 描述 id 对象id 自动生成的唯一标识符。 用户名 字符串 用户的唯一标识符。 电子邮件 字符串 独特的电子邮件地址。 密码哈希 字符串 用于身份验证的加密密码。 创建于 日期 账户创建的时间戳。 更新时间 日期 账户更新的时间戳。 您可以在 back4app 仪表板中手动创建这些类并定义字段。 创建新类 您可以通过选择数据类型、指定字段名称、分配默认值以及指明是否为必填项来添加字段。 创建列 利用 back4app ai 代理进行模式设置 back4app ai 代理是一个集成在您的仪表板中的智能工具,可以根据您的描述自动生成数据模式。此功能简化了项目设置,并确保您的数据模型支持必要的 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) 这种基于 ai 的方法节省了时间,并保证了您应用程序的一致、优化的数据模型。 步骤 3 – 激活管理员应用程序并管理 crud 操作 管理员应用程序简介 back4app 管理员应用程序提供了一个无代码界面,用于高效的后端数据管理。其直观的拖放功能简化了执行 crud 操作(如创建、查看、更新和删除记录)。 激活管理员应用程序 在您的 back4app 仪表板中导航到 “更多” 菜单 。 选择 “管理员应用程序” 然后点击 “启用管理员应用程序。” 设置您的管理员凭据 通过创建您的初始管理员帐户。此过程还将建立角色(例如 b4aadminuser ) 和系统类。 启用管理员应用程序 启用后,登录管理员应用程序以管理您的应用程序数据。 管理员应用程序仪表板 利用管理员应用程序进行 crud 任务 在管理应用程序中,您可以: 添加记录: 在一个类(例如,项目)中使用“添加记录”选项插入新数据。 查看/修改记录: 点击任何记录以检查详细信息或编辑字段。 删除记录: 删除不再必要的条目。 这个简化的界面通过简化数据管理来增强用户体验。 步骤 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> 在您的 java 应用程序中初始化 parse: 创建一个配置类(例如, 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()); } } 在java类中实现crud操作: 例如,创建一个服务来获取和显示项目: // 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 如果 parse java sdk 不是一个选项,您可以通过 rest 调用执行 crud 操作。例如,要使用 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 – 保护您的后端 访问控制列表 (acls) 通过为您的对象配置 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()); } } 类级别权限 (clps) 在您的 back4app 控制面板中配置 clps 以强制执行默认访问规则。此设置确保只有经过身份验证的用户可以访问特定类。 步骤 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 docker 化您的 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 部署 链接您的 github 仓库: 确保您的 java 项目的源代码托管在 github 上。 配置部署设置: 在您的 back4app 控制面板中,选择 web 部署 功能,链接您的仓库(例如, basic crud app java ),并选择适当的分支。 设置构建和输出命令: 定义构建命令(例如, mvn clean package ) 并指定工件位置。 部署您的应用程序: 点击 部署 并监控部署日志,直到您的应用程序上线。 第 8 步 – 结论和后续步骤 恭喜你!你成功构建了一个基于java的crud应用程序,并与back4app集成。 你设置了一个名为 basic crud app java 的项目,设计了items和users的类,并使用back4app管理应用程序数据。 此外,你通过parse sdk(或rest/graphql)连接了你的java应用程序,并实施了强大的安全措施。 下一步: 增强应用程序: 添加更多功能,例如高级搜索、详细视图或实时更新。 扩展后端功能: 探索云函数、第三方api集成或基于角色的访问控制。 深化你的知识: 查看 back4app文档 https //www back4app com/docs 和其他教程,以进一步优化你的应用程序。 祝你编码愉快,祝你的java crud应用程序好运!