gpt4 book ai didi

mysql - Play - 不在application.conf中写入数据库配置,执行一条sql语句

转载 作者:行者123 更新时间:2023-11-30 22:44:47 25 4
gpt4 key购买 nike

我正在使用 Playframework 编写一个 Scala 应用程序。我不想在application.conf 文件中写入数据库配置。相反,我有一个类似于下面给出的函数。我想将配置参数作为函数的参数发送。然后我想创建一个连接并执行语句。顺便说一句,数据库是mysql数据库。

def run_sql(sql: String, host: String, user: String, pass: String, port: String, dbname: String): Unit = {

// **** create the connection ****

DB.withConnection {
conn =>
{
val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
try {
statement.execute(sql)
}
catch {
case e: Exception => Logger.warn("Error executing DML %s. %s".format(sql, e.getMessage))
}
}
}
}

这可能吗?如果是这样,那又如何?我希望我已经把我的问题说清楚了。如果您有任何困惑,请询问。提前致谢。

最佳答案

//**** 创建连接 ****

这里我们可以写

val driver = Play.current.configuration.getString("rds.driver").getOrElse("")
val host = Play.current.configuration.getString("rds.host").getOrElse("")
val port = Play.current.configuration.getString("rds.port").getOrElse("")
val user = Play.current.configuration.getString("rds.user").getOrElse("")
val password = Play.current.configuration.getString("rds.password").getOrElse("")
val url = "mysql://" + user + ":" + password + "@" + host + ":" + port + "/" + dbname

// there's probably a better way to do this

Class.forName(driver)
val connection: Connection = DriverManager.getConnection(url, user, password)

关于mysql - Play - 不在application.conf中写入数据库配置,执行一条sql语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com