有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库

我有一个窗口,允许用户使用一些字段(date, start time, end time, ...)预订约会,并将其保存到数据库中。为什么我需要将这些字段保存在对象中,例如

Appointment a = new Appointment(date,start,end,...);

然后使用get方法取回这组数据,而不是将其直接保存到数据库中

有人告诉我,因为面向对象编程是如何工作的,但任务只是向数据库插入一组新数据,不需要修改


共 (2) 个答案

  1. # 1 楼答案

    是的,我们可以直接放,但不方便

    我们以面向对象的方式工作,尽量不与原始输入数据交互。在收到一些数据后,我们通常会构造某个类的实例,然后只处理这个对象及其状态

    这很方便,因为实例保留了它所呈现对象的所有必要信息。我们可以通过只使用一个参数(不考虑要保存的许多字段),毫无问题地将其传递到不同的方法中

    在处理过程中,一个实例在准备持久化之前可能会经历几个里程碑(如筛选、验证)。因此,重要的是,这样的基础结构方法需要一个完整的、已经形成的对象,并且只需要修改它的状态

    最后,通过所有这些,OOP使您的代码更具可读性和自解释性

  2. # 2 楼答案

    你不一定要这么做。例如,您可以使用基本的EntityManager,使用executeQuery方法将值直接插入任何数据库。对象的创建主要是面向对象编程,我(和其他像我这样的OO上瘾者)更喜欢先保存对象。一个原因是,当您想要从数据库中检索信息时,更容易理解实际返回的数据。第二个问题是更好地概述整个代码。让它更具可读性等等

    EntityManager的示例:

    EntityManager em;
    //Initialize em by setting up the database source, there's a lot of information on google =)
    em.createQuery(
        "SELECT c FROM Customer c WHERE c.name LIKE :custName")
        .setParameter("custName", name)
        .setMaxResults(10)
        .getResultList();