当前位置: 首页 > 知识库问答 >
问题:

写入数据库(Vaadin流)

赫连捷
2023-03-14

我将多个文本字段绑定到IDE Rapidclipse中的一个实体,该实体使用Vaadin14和JPA/Hibernate。其目的是将按钮点击时的输入数据写入定义为DataSource的引用数据库中。我已经发现这个文档是手动编写的。所以我对此的理解是这样的:首先,我需要创建一个实体的新bean(test test=new test())。那么所有输入数据都应该分配给bean(binder.writeBean(test))的属性。文档就这么多了。但是数据是如何插入到数据库中实体的表中的呢?我需要TestDAO类吗?

在以前的Rapidclipse版本中使用的Vaadin 7中,它是这样工作的:

fieldGroup.setItemDatasource(new Test());
...
fieldgroup.save()

共有1个答案

耿炎彬
2023-03-14

binder用于将bean的属性绑定到UI中显示的表单(例如,TextFields)。因此,当您执行类似的操作时,如何绑定表单数据

Binder<Person> binder = new Binder<>(Person.class);

TextField titleField = new TextField();

// Start by defining the Field instance to use
binder.forField(titleField)
        // Finalize by doing the actual binding
        // to the Person class
        .bind(
                // Callback that loads the title
                // from a person instance
                Person::getTitle,
                // Callback that saves the title
                // in a person instance
                Person::setTitle);

您确切地说,titlefield显示了一个人的头衔。绑定器与DB持久性无关/不负责。在您链接的文档中,在所有示例中都有类似于以下内容的行:MyBackend.UpdatePersoninDatabase(person);。将对象持久化到底层数据库是开发人员的责任。Flow是一个UI框架,这就是您可以自由选择数据库提供程序/技术的原因。

关于Vaadin 7,你在哪里找到了一个例子?在FieldGroup类FieldGroup API上找不到方法Save

也许有人扩展了它,添加了一个需要的功能?

例如,如果您正在使用hibernate类似于以下内容:

session.save(emp);将把对象插入数据库。摘自此处:Hibernate插入查询教程

>

  • Hibernate:保存、持久、更新、合并、保存或更新

    用JPA和Hibernate实现存储库模式

    Hibernate和Spring Data JPA之间的区别是什么

  •  类似资料:
    • 问题内容: 我刚刚建立了一个到目前为止仍然非常少的项目maven / jpa / hibernate项目,在这里我试图持久化一个对象。 我的课很简单: 我的persistence.xml也是非常基本的: 最后,这是我用来保留对象的代码: 现在,我希望在这里发生两件事:首先,我希望创建Person表(由于hibernate.hbm2ddl.auto = update)。这已经发生过一次,并且正确写出

    • 问题内容: 我想在Excel中编写一个宏,该宏将写入mysql数据库。有人可以帮我开始这个吗? 问题答案: 您可以使用连接字符串和ADO连接到MySQL: 您还可以使用Jet驱动程序将DSN与Excel连接使用:

    • 问题内容: 我希望我的问题不会很荒谬,因为令人惊讶的是,就流行的网站而言(据我所知)显然还没有真正问过这个问题。 情况是我有几个csv文件,总共包含1个以上的Mio观测值。每个观察结果都包含一个邮政地址。我打算将所有文件读入一个GeoDataFrame中,对地址进行地理编码,在给定shapefile的情况下执行空间连接,并为每行保存来自多边形的一些信息。我想是相当标准的。这是一次性数据清理过程的一

    • 我设法将数据插入身份验证,但无法插入数据库: 代码: 错误: E/AndroidRuntime:致命异常:主进程:com。实例budgetingapp,PID:11507 java。lang.RuntimeException:在类androidx上找到了名称getText的冲突获取程序。appcompat。小装置。AppCompativeText位于com。谷歌。火基。消防商店。util。Cust

    • 我希望一次提交一条内容,但这条内容里面根据特定字符自动分割成多条记录写入ac数据库。用asp程序。请问可以实现吗? 举例: 我提交如下一段内容,里面用开头和结尾字样来分割,希望入库4条记录(同一个表单只提交一次,入库4条)。对了,数据库有两个字段(内容和时间)。如下例子。 开头 这里是要入库的内容1 时间 结尾 开头 这里是要入库的内容2 时间 结尾 开头 这里是要入库的内容3 时间 结尾 开头

    • null 非常感谢任何指向文档或非常基本的示例的指针。