数据库和UI上CRUD操作的最佳实践

时间:2017-12-07 16:07:29

标签: javascript html sql spring-boot

我想到的问题是设计选择,最佳实践问题。用户有一个用户界面,其中包含一个HTML表,展示了MYSQL表中的所有数据。通过此HTML表查看信息后,他会获得几个输入字段,允许他在此表上执行CRUD操作。我应该更改HTML表的内容,模拟使用Javascript删除的内容,还是应该从数据库返回所有新内容并动态创建新表。在第二种情况下,权衡是对数据库的更多查询,但是更纯粹的数据。但是,在第一种情况下,我将编写的用于更新此HTML表的代码并不完美,并且会导致问题,但会缩短对数据库的查询时间。

请考虑删除操作的以下示例

DELETE FROM OBJECTS WHERE ID=1;
DELETE FROM SUBJECTS_OBJECTS_RELATIONSHIP WHERE ID=1;

和几个复杂的查询

vs jquery

$("#object_id_1").parent("tr").remove()

如您所见,我可以使用jquery删除object_id为1的行而不对databsae进行查询

3 个答案:

答案 0 :(得分:2)

很抱歉,还没有发表评论。

我不认为有直接的答案,但做出一些假设:

如果您不再次加载相同的数据(您可能会将数据加载到类似for item in data的表),可能只需在客户端删除即可。但是,如果您将一遍又一遍地重新删除相同的数据并删除在客户端删除的内容,那么无论如何,查询将会更重,就像在其他情况下一样。 Alsow你会一次又一次地执行.remove()

答案 1 :(得分:1)

你可以做任何一种方式......

如果你去更新'方法,那么删除后你的服务器应该返回一个javascript调用,它将在jQuery中执行操作:

  

$("#object_id_1&#34)亲本。(" TR&#34)。除去()

如果你采用完全更新的方式,那么先清除表格,然后上传所有数据,效率降低,但也不容易出错。就个人而言,我会选择更新'方法

答案 2 :(得分:0)

您的问题非常广泛,可能有很多方法可以解决您的困境。首先,我建议学习一个MVC框架,如Laravel或CodeIgniter。两者都有其优点和缺点。例如,Laravel有一个更陡峭的学习曲线,但可以是一个很好的框架。它背后也有一个很棒的社区。 CI(codeigniter)另一方面可以很容易地拿起来。两者都提供数据库操作“库”。

两者都遵循MVC设计模式。并且是“后端”框架。基本上这些是与您的服务器端代码一起使用的框架。 (PHP)

这些天的趋势是将Backend与前端框架配对。因此,想到一个好的框架就是VueJS。

Laravel和VueJS的合作非常好。您可以创建一个安静的后端,并使用VueJS通过Axios甚至jQuery等框架发送请求。

这是很多信息,所以一定要为长夜的阅读做好准备。