Mire esta página de la documentación de Play. Dice:
Aparte de la base de datos en memoria h2, útil principalmente en el modo de desarrollo, Play 2.0 no proporciona ningún controlador de base de datos. En consecuencia, para implementar en producción, deberá agregar su controlador de base de datos como una dependencia de la aplicación.
Por ejemplo, si usa MySQL5, debe agregar una dependencia para el conector:
val appDependencies = Seq(
// Add your project dependencies here,
...
"mysql" % "mysql-connector-java" % "5.1.18"
...
)
SBT descargará el controlador por usted. También debería consultar la sección sobre gestión de dependencias .
Para conectarse a MySQL, también deberá cambiar algunas configuraciones en su application.conf
:
db.default.driver=com.mysql.jdbc.Driver
db.default.url="mysql://root:secret@localhost/myDatabase"
Como escribió Carsten, se puede obtener de la documentación, sin embargo, aquí hay un resumen:
asegúrese de tener la dependencia configurada en
/project/Build.scala
Agregue una configuración adecuada de la base de datos (reemplace la configuración H2 predeterminada) en
/conf/application.conf
:(no elimine la codificación de la URL):
en el mismo archivo, busque y asegúrese de que esta línea NO esté comentada:
Eso es todo, reinicie su aplicación (o ejecútela en modo de desarrollo), luego creará un DDL y le pedirá que lo aplique.
fuente
localhost
pueda necesitar ser reemplazado por127.0.0.1
. En términos specifict, utilizando MariaDB (una caída de Oracle-libre en el reemplazo para MySQL) desde MacPorts que tenía que comentar skip-networking enmy.cnf
y utilizar la dirección IP en lugar delocalhost
tener éxito Juego de conexión.Estoy usando play 2.2.0 y solo tuve que agregar la siguiente línea a build.sbt en la carpeta raíz del proyecto.
Y jugar descarga automáticamente el controlador. Parece que Build.scala ya no es necesario para esto. Los cambios en application.conf deben aplicarse como han mencionado los comentaristas anteriores.
fuente
libraryDependencies ++= Seq(jdbc,anorm,cache,"mysql" % "mysql-connector-java" % "5.1.27")
La mayoría de los métodos para acceder a una base de datos mysql con los que me he encontrado no explican cómo establecer una conexión y recuperar datos desde el modelo. En mi aplicación, estoy usando mongoDB y una base de datos mysql externa. Así que así es como hice (el lado de mysql) las cosas:
Para Play 2.3.3, en el archivo build.sbt agregue la línea específica de mysql en libraryDependencies:
En el archivo /conf/application.conf agregue esto:
Puede reemplazar "myotherdb" por "predeterminado" en caso de que desee utilizar la base de datos predeterminada o con cualquier otro nombre que desee utilizar. Reemplace "xxx.xxx.xxx.xxx" con la dirección IP del servidor donde se encuentra su base de datos (en el caso de una base de datos externa) o localhost (o 127.0.0.1) para la base de datos local. Reemplace "NameOfOtherDB" con el nombre de la base de datos que desea utilizar, "MyOtherDbUSername" con su nombre de usuario de la base de datos y "MyOtherDbPass" con la contraseña de su base de datos.
Dentro de su modelo (/app/models/MyModel.scala) agregue esto:
Crea la sentencia, la consulta y ejecútala:
Luego, puede continuar con lo que quiera hacer con los datos recuperados. Por ejemplo:
Donde "columnName" es el nombre de la columna / campo de la tabla de base de datos que desea recuperar.
Por último, pero no menos importante, me gustaría señalar que es posible que desee cerrar la conexión llamando a close ()
fuente
Me quedé atascado con mi configuración de MySQL hasta que encontré esto.
Cosas más importantes tomadas de la respuesta de @biesior:
/project/Build.scala
)play dependencies
para resolver el conector MySQL / dependencia J recién agregadoebean.default="models.*"
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
Me salvó el día.
fuente
Para jugar 2.3.1 , sigue estos pasos.
1) Agregue el conector MySQL / J en la dependencia del proyecto (que está dentro de /project/build.sbt)
2) Descomente la línea de configuración predeterminada de ebean ebean.default = "modelos. *"
3) Configure la base de datos MySQL correctamente con la codificación de caracteres adecuada
4) La mayoría de Imp. Ejecute un comando de recarga en la consola.
fuente
java.sql.SQLException: No suitable driver found for mysql://...
.sudo apt-get install mysql-client; sudo apt-get install libmysql-java
putexport CLASSPATH=/usr/share/java/mysql-connector-java.jar
y también lo agregué/etc/environment
(como se describe en help.ubuntu.com/community/JDBCAndMySQL ). Todavía no funciona.Juega 2.4.3 y MYSQL 5.7.9
Pude hacer que esto funcionara juntando bits de información de todas las respuestas anteriores. Así que aquí hay otro, que es de esperar que esté más actualizado o sea útil para aquellos con un entorno similar.
Detalles del entorno: ( esto es lo que estoy usando )
appication.conf
Nota:
3306
el ejemplo porque suele ser el predeterminado para MYSQL.build.sbt
Agregue esta línea a continuación a su archivo build.sbt. Esto debería ir después de la
libraryDependencies ++= Seq()
declaración.Finalmente
activator reload
fuente
Para reproducir un proyecto java usando SBT
Cambie libraryDependency a llok así en "build.sbt"
Ejecute su proyecto usando "activator run"
Play desactivará el conector jdbc requerido.
fuente
Tuve el mismo problema en el último marco de juego 2.4.x con el activador 1.3.6.
Estos son los pasos. Seguí los pasos descritos aquí https://www.playframework.com/documentation/2.4.x/JavaDatabase
Aquí está mi
application.conf
Aquí está
build.sbt
plugins.sbt
Este es el paso importante.
fuente
Para mí, este trabajo, agregue esta línea a continuación en sus dependencias:
Aquí está el código:
fuente