使用Slick 3.2.2在PostgreSQL中插入一行

时间:2018-06-14 12:39:35

标签: postgresql scala playframework slick

我有一个使用PostgreSQL和Slick的基于Play的应用程序。我与数据库建立了连接(我已成功自动生成了模式)。

我尝试在表格中插入一行:

val userdb = TableQuery[Userprofiles]
val insertion = userdb += (1, "firstname", "lastname", "address");

我遇到两个编译器错误:

reassignment to val

too many arguments for method

我如何解决问题?

1 个答案:

答案 0 :(得分:0)

您需要使用import java.util.concurrent.Callable; public class CallableComputation implements Callable<Integer>{ int input = 0; public CallableComputation(int input) { this.input = input; } public void set(int i) { input = i; } @Override public Integer call() throws Exception { System.out.printf("currval=%d\n", input); Thread.sleep(500); return input * input; } } 运行查询,这将返回一个db.run,如下所示:scala.concurrent.Future

val future = db.run(userdb += (1, "firstname", "lastname", "address"))可以通过扩展db来使用,如the Playframework docs.

所示。

Essential Slick是学习Slick DB的绝佳资源。