在controller和slick中使用java
我想在playframework控制器中使用java 并希望使用slick来使用slick持久化数据 我已经准备好了模型的演化和所有灵活的映射,但是如何使用java访问模型呢在controller和slick中使用java,java,scala,playframework,slick,Java,Scala,Playframework,Slick,我想在playframework控制器中使用java 并希望使用slick来使用slick持久化数据 我已经准备好了模型的演化和所有灵活的映射,但是如何使用java访问模型呢 class processDTO @Inject() (protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] with ProcessTemplatesComponen
class processDTO @Inject() (protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile]
with ProcessTemplatesComponent {
import driver.api._
private val processTemplates = TableQuery[ProcessTemplates]
def getAll(): Future[List[ProcessTemplatesModel]] = db.run { processTemplates.to[List].result }
}
嗯
你的ScalaClass.scala
pakcage yourscalapackage
class YourScalaClass(s: String) {
def doSomethingAndReturnString(): String = "omg :: " + s
}
YourJavaClass.java
package yourjavapackage;
import yourscalapakcage.YourScalaClass;
public class YourJavaClass {
public void do() {
YourScalaClass ysc = new YourScalaClass("lol");
String str = ysc.doSomethingAndReturnString();
System.out.println(str);
}
}
好不能在.scala文件中使用Java代码。现在Play还有一个Java API。。。因此,您可以使用Java API和.Java文件编写您想用Java编写的部分。我现在有一个Java控制器。nad现在我想访问一个用scala编写的模型和一个同样用scala编写的dao。在dao中,我有一个getter,我可以从java控制器访问dao中的getter吗导入yourpackagename.YourClassname??我需要java中的数据库提供程序吗?我添加了scala函数,我想在java控制器中使用它。我做了你提到的进口,这正是我所做的。但是受保护的val dbConfigProvider的问题是:DatabaseConfigProvider处理Scala代码本身中的所有内容。。。使跨语言函数尽可能简单。我也可以使用java中的databaseconfigprovider吗?