Veja esta página da documentação do Play. Diz:
Exceto para o banco de dados h2 in-memory, útil principalmente no modo de desenvolvimento, o Play 2.0 não fornece nenhum driver de banco de dados. Consequentemente, para implantar na produção, você terá que adicionar seu driver de banco de dados como uma dependência do aplicativo.
Por exemplo, se você usa MySQL5, precisa adicionar uma dependência para o conector:
val appDependencies = Seq(
// Add your project dependencies here,
...
"mysql" % "mysql-connector-java" % "5.1.18"
...
)
O SBT fará o download do driver para você. Você também deve verificar a seção sobre gerenciamento de dependências .
Para se conectar ao MySQL, você também precisará alterar algumas configurações em application.conf
:
db.default.driver=com.mysql.jdbc.Driver
db.default.url="mysql://root:secret@localhost/myDatabase"
Como Carsten escreveu, ele pode ser obtido na documentação, mas aqui está um resumo:
certifique-se de ter a dependência configurada em
/project/Build.scala
Adicione uma configuração adequada do banco de dados (substitua a configuração H2 padrão) em
/conf/application.conf
:(não remova a codificação do URL):
no mesmo arquivo, localize e certifique-se de que esta linha NÃO seja comentada:
Isso é tudo, reinicie seu aplicativo (ou execute no modo dev), então ele criará um DDL e pedirá que você o aplique.
fonte
localhost
podem precisar ser substituídas por127.0.0.1
. Em termos specifict, utilizando MariaDB (uma queda da Oracle-livre substituto para MySQL) de MacPorts Eu tinha que comentar skip-networking emmy.cnf
e usar o endereço IP em vez delocalhost
ter Jogar com sucesso de conexão.Estou usando o play 2.2.0 e só tive que adicionar a seguinte linha a build.sbt na pasta raiz do projeto.
E o play baixa automaticamente o driver. Parece que Build.scala não é mais necessário para isso. Mudanças em application.conf devem ser aplicadas como os comentaristas acima mencionaram.
fonte
libraryDependencies ++= Seq(jdbc,anorm,cache,"mysql" % "mysql-connector-java" % "5.1.27")
A maioria dos métodos de acesso a um banco de dados mysql que encontrei não explica como estabelecer uma conexão e recuperar dados de dentro do modelo. Em meu aplicativo, estou usando o mongoDB e um banco de dados externo do mysql. Então, aqui está como eu fiz (o lado mysql de) coisas:
Para Play 2.3.3, no arquivo build.sbt, adicione a linha específica do mysql em libraryDependencies:
No arquivo /conf/application.conf, adicione isto:
Você pode substituir "myotherdb" por "default" no caso de desejar usar o banco de dados padrão ou com qualquer outro nome que você deseja usar. Substitua "xxx.xxx.xxx.xxx" pelo endereço IP do servidor onde seu banco de dados está localizado (no caso de um banco de dados externo) ou localhost (ou 127.0.0.1) para banco de dados local. Substitua "NameOfOtherDB" pelo nome do banco de dados que deseja usar, "MyOtherDbUSername" pelo nome de usuário do banco de dados e "MyOtherDbPass" pela senha do banco de dados.
Dentro do seu modelo (/app/models/MyModel.scala), adicione isto:
Crie a declaração, a consulta e execute-a:
Em seguida, você pode continuar com o que deseja fazer com os dados recuperados. Por exemplo:
Onde "columnName" é o nome da coluna / campo da tabela do banco de dados que você deseja recuperar.
Por último, mas não menos importante, gostaria de observar que talvez você queira encerrar a conexão chamando close ()
fonte
Fiquei preso na configuração do MySQL até que encontrei isso.
As coisas mais importantes tiradas da resposta de @biesior:
/project/Build.scala
)play dependencies
para resolver o conector MySQL / dependência J recém-adicionadoebean.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
Isso salvou meu dia.
fonte
Para jogar 2.3.1 , siga estas etapas.
1) Adicione o conector MySQL / J na dependência do projeto (que está dentro de /project/build.sbt)
2) Remova o comentário da linha de configuração ebean padrão ebean.default = "models. *"
3) Configure o banco de dados MySQL corretamente com a codificação de caracteres adequada
4) Mais Imp. Execute um comando reload no console.
fonte
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
e também o adicionei/etc/environment
(conforme descrito em help.ubuntu.com/community/JDBCAndMySQL ). Ainda não funciona.Tocar 2.4.3 e MYSQL 5.7.9
Consegui fazer isso funcionar juntando pedaços de informações de todas as respostas anteriores. Portanto, aqui está outro, que é esperançosamente mais atualizado ou útil para aqueles com um ambiente semelhante.
Detalhes do ambiente: ( é isso que estou usando )
appication.conf
Nota:
3306
o exemplo porque geralmente é o padrão para MYSQL.build.sbt
Adicione esta linha abaixo ao seu arquivo build.sbt. Isso deve ir após a
libraryDependencies ++= Seq()
declaração.Finalmente
activator reload
fonte
Para jogar projeto java usando SBT
Altere o libraryDependency para funcionar assim em "build.sbt"
Execute seu projeto usando "ativação do ativador"
A reprodução desligará o conector jdbc necessário.
fonte
Eu tive o mesmo problema na última plataforma de jogo 2.4.x com ativador 1.3.6.
Aqui estão as etapas. Eu segui as etapas descritas aqui https://www.playframework.com/documentation/2.4.x/JavaDatabase
Aqui está o meu
application.conf
Aqui está
build.sbt
plugins.sbt
Aqui está o passo importante.
fonte
Para mim, este trabalho, adicione esta linha abaixo em suas dependências:
Aqui está o código:
fonte