Java 在Play framework 2.0中使用MySQL数据库所需的步骤
我是新手。我正在尝试将MySQL数据库配置为一个数据源,用于Play Ebeans 你能解释一下用Play 2.0框架配置MySQL所需的步骤吗(如下载驱动程序、添加依赖项等)。请看Play的文档。它说: 除了h2内存数据库(主要用于开发模式)之外,Play 2.0不提供任何数据库驱动程序。因此,要在生产环境中部署,您必须将数据库驱动程序添加为应用程序依赖项 例如,如果使用MySQL5,则需要为连接器添加依赖项: SBT将为您下载驱动程序。你也应该看看这本书 要连接到MySQL,您还需要更改Java 在Play framework 2.0中使用MySQL数据库所需的步骤,java,playframework,playframework-2.0,ebean,Java,Playframework,Playframework 2.0,Ebean,我是新手。我正在尝试将MySQL数据库配置为一个数据源,用于Play Ebeans 你能解释一下用Play 2.0框架配置MySQL所需的步骤吗(如下载驱动程序、添加依赖项等)。请看Play的文档。它说: 除了h2内存数据库(主要用于开发模式)之外,Play 2.0不提供任何数据库驱动程序。因此,要在生产环境中部署,您必须将数据库驱动程序添加为应用程序依赖项 例如,如果使用MySQL5,则需要为连接器添加依赖项: SBT将为您下载驱动程序。你也应该看看这本书 要连接到MySQL,您还需要更改应用
应用程序.conf中的一些设置:
db.default.driver=com.mysql.jdbc.Driver
db.default.url="mysql://root:secret@localhost/myDatabase"
正如Carsten所写,可以从文档中获取,但这里有一个摘要:
确保在/project/Build.scala
val appDependencies = Seq(
// Add your project dependencies here,
"mysql" % "mysql-connector-java" % "5.1.18"
)
在/conf/application.conf
中添加数据库的正确配置(替换默认H2配置):
(不从URL中删除编码):
在同一文件中查找并确保此行未注释:
ebean.default="models.*"
就这样,重新启动你的应用程序(或在开发模式下运行),然后它将创建一个DDL并要求你应用它。在我找到这个之前,我一直在使用MySQL配置
从@biesior答案中获得的最重要的东西:
- 在项目的依赖项中添加MySQL连接器/J(在
/project/Build.scala
中)
- 添加依赖项后,运行
playdependencies
以解析新添加的MySQL连接器/J依赖项
- 取消注释默认ebean配置行
ebean.default=“models.*”
- 使用正确的字符编码正确配置MySQL数据库
db.default.driver=com.MySQL.jdbc.driver
db.default.url=“jdbc:mysql://www.sample.com:3306/test?characterEncoding=UTF-8"
db.default.user=playuser
db.default.pass=playuser
它节省了我的时间。我正在使用play 2.2.0,我只需在project的根文件夹中添加以下行build.sbt
"mysql" % "mysql-connector-java" % "5.1.27"
并自动下载播放驱动程序。看起来Build.scala不再需要了。对application.conf的更改应如上述评论员所述应用。对于播放2.3.1,请遵循以下步骤
1) 在项目的依赖项中添加MySQL连接器/J(在/project/build.sbt中)
2) 取消注释默认ebean配置行ebean.default=“models.*”
3) 使用正确的字符编码正确配置MySQL数据库
db.default.driver=com.mysql.jdbc.Driver //this is com. and not org.
db.default.url="jdbc:mysql://127.0.0.1/test?characterEncoding=UTF-8"
db.default.user=playuser
db.default.pass=playuser
4) 大多数Imp.在控制台中运行重新加载命令 我遇到的大多数访问mysql数据库的方法都没有解释如何在模型中建立连接和检索数据。在我的应用程序中,我同时使用mongoDB和外部mysql数据库。下面是我是如何做(mysql方面的)事情的:
对于Play 2.3.3,在build.sbt文件中,在libraryDependencies中添加mysql特定行:
libraryDependencies ++= Seq(
"mysql" % "mysql-connector-java" % "5.1.27"
)
"mysql" % "mysql-connector-java" % "5.1.36"
在/conf/application.conf文件中添加以下内容:
db.myotherdb.driver = com.mysql.jdbc.Driver
db.myotherdb.url = "jdbc:mysql://xxx.xxx.xxx.xxx/NameOfOtherDB?characterEncoding=UTF-8"
db.myotherdb.user = MyOtherDbUSername
db.myotherdb.password = MyOtherDbPass
val connection = DB.getConnection("myotherdb")
如果要使用默认数据库或任何其他要使用的名称,可以将“myotherdb”替换为“default”。将“xxx.xxx.xxx.xxx”替换为数据库所在服务器的IP地址(如果是外部数据库)或本地数据库的本地主机(或127.0.0.1)。将“NameOfTherDB”替换为要使用的数据库名称,“MyOtherDbUSername”替换为数据库用户名,“MyOtherDbPass”替换为数据库密码
在模型(/app/models/MyModel.scala)中添加以下内容:
db.myotherdb.driver = com.mysql.jdbc.Driver
db.myotherdb.url = "jdbc:mysql://xxx.xxx.xxx.xxx/NameOfOtherDB?characterEncoding=UTF-8"
db.myotherdb.user = MyOtherDbUSername
db.myotherdb.password = MyOtherDbPass
val connection = DB.getConnection("myotherdb")
创建语句、查询并执行它:
val statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
val query = "SELECT * FROM myTableName"
val resultset = statement.executeQuery(query)
然后,您可以继续对检索到的数据执行任何操作。例如:
while (resultset.next()) {
resultset.getString("columnName")
}
其中“columnName”是要检索的DB表列/字段的名称
最后但并非最不重要的一点是,我想指出,您可能希望通过调用close()来关闭连接,以便使用SBT播放java项目
将libraryDependency更改为llok,如“build.sbt”中所示
使用“activator Run”运行项目
播放将减少所需的jdbc连接器。我在最新的播放框架2.4.x和activator 1.3.6中遇到了相同的问题
以下是步骤。
我遵循了这里描述的步骤
这是我的application.conf
#MySQL数据库配置
db.default.driver=com.mysql.jdbc.driver
db.default.url=“jdbc:mysql://{hostname或ipaddress}/{db name}?characterEncoding=UTF-8”
db.default.username=username//请注意,不推荐使用用户id,请改用username。虽然这不是一个大问题
db.default.password=“password”
#JPA配置
jpa.default=defaultPersistenceUnit
PlayKeys.externalizeResources=false
#JavaEbean配置
ebean.default=[“models.*”]
播放2.4.3和MYSQL 5.7.9
我把以前所有答案中的一些信息拼凑在一起,就可以做到这一点。这是另一个,希望对那些有着相似环境的人来说更为及时或有用
环境详细信息:(这就是我正在使用的)
- 重头戏2.4.3该游戏配有activator-1.3.7-minimal
- JDK8,您应该已经有了它,因为我认为这个版本的play不适合JDK7
- MYSQL 5.7.9
appication.conf
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/testSchema?characterEncoding=UTF-8"
db.default.user=yourDBUserName
db.default.password=yourDBUserPass
注意:
- URL中的testSchema是您的数据库名称,如果您使用类似的名称,您将在SCHEMAS部分中看到这一点。我叫我的testSchema。其他人可能会称之为“myDatabase”
- 端口应该是MYSQL端口。不是您的应用程序端口。我将
3306
放在示例中,因为这是
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/testSchema?characterEncoding=UTF-8"
db.default.user=yourDBUserName
db.default.password=yourDBUserPass
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.36"
"mysql" % "mysql-connector-java" % "5.1.36"