Regardez cette page de la documentation de Play. Ça dit:
Hormis la base de données en mémoire h2, utile principalement en mode développement, Play 2.0 ne fournit aucun pilote de base de données. Par conséquent, pour déployer en production, vous devrez ajouter votre pilote de base de données en tant que dépendance d'application.
Par exemple, si vous utilisez MySQL5, vous devez ajouter une dépendance pour le connecteur:
val appDependencies = Seq(
// Add your project dependencies here,
...
"mysql" % "mysql-connector-java" % "5.1.18"
...
)
SBT téléchargera le pilote pour vous. Vous devriez également consulter la section sur la gestion des dépendances .
Pour vous connecter à MySQL, vous devrez également modifier certains paramètres dans votre application.conf
:
db.default.driver=com.mysql.jdbc.Driver
db.default.url="mysql://root:secret@localhost/myDatabase"
Comme l'a écrit Carsten, il peut être extrait de la documentation, mais voici un résumé:
assurez-vous que la dépendance est configurée dans
/project/Build.scala
Ajoutez une configuration appropriée de la base de données (remplacez la configuration H2 par défaut) dans
/conf/application.conf
:(ne supprimez pas l'encodage de l'URL):
dans le même fichier, recherchez et assurez-vous que cette ligne n'est PAS commentée:
C'est tout, redémarrez votre application (ou exécutez en mode dev), puis elle créera un DDL et vous demandera de l'appliquer.
la source
localhost
faudra peut-être le remplacer par127.0.0.1
. En termes précis, en utilisant MariaDB (une goutte sans Oracle en remplacement de MySQL) de MacPorts, j'ai dû commenter la mise en réseaumy.cnf
et utiliser l'adresse IP au lieu delocalhost
connecter Play avec succès.J'utilise play 2.2.0 et je devais juste ajouter la ligne suivante à build.sbt dans le dossier racine du projet.
Et jouer télécharge automatiquement le pilote. Il semble que Build.scala ne soit plus nécessaire pour cela. Les modifications apportées à application.conf doivent être appliquées comme les commentateurs ci-dessus l'ont mentionné.
la source
libraryDependencies ++= Seq(jdbc,anorm,cache,"mysql" % "mysql-connector-java" % "5.1.27")
La plupart des méthodes d'accès à une base de données mysql que j'ai rencontrées n'expliquent pas comment établir une connexion et récupérer des données à partir du modèle. Dans mon application, j'utilise à la fois mongoDB et une base de données externe mysql. Alors, voici comment j'ai fait les choses (du côté mysql):
Pour Play 2.3.3, dans le fichier build.sbt, ajoutez la ligne spécifique à mysql dans la bibliothèque.
Dans le fichier /conf/application.conf, ajoutez ceci:
Vous pouvez remplacer "myotherdb" par "default" au cas où vous souhaiteriez utiliser la base de données par défaut ou par tout autre nom que vous souhaitez utiliser. Remplacez "xxx.xxx.xxx.xxx" par l'adresse IP du serveur sur lequel se trouve votre base de données (dans le cas d'une base de données externe) ou localhost (ou 127.0.0.1) pour la base de données locale. Remplacez «NameOfOtherDB» par le nom de la base de données que vous souhaitez utiliser, «MyOtherDbUSername» par votre nom d'utilisateur de base de données et «MyOtherDbPass» par votre mot de passe de base de données.
À l'intérieur de votre modèle (/app/models/MyModel.scala), ajoutez ceci:
Créez l'instruction, la requête et exécutez-la:
Ensuite, vous pouvez continuer avec tout ce que vous voulez faire avec les données récupérées. Par exemple:
Où "columnName" est le nom de la colonne / du champ de la table de base de données que vous souhaitez récupérer.
Dernier point mais non le moindre, je voudrais noter que vous voudrez peut-être fermer la connexion en appelant close ()
la source
Je suis resté coincé avec ma configuration MySQL jusqu'à ce que je trouve cela.
Les éléments les plus importants tirés de la réponse @biesior:
/project/Build.scala
)play dependencies
pour résoudre la dépendance du connecteur MySQL / J nouvellement ajoutéeebean.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
Cela m'a sauvé la journée.
la source
Pour jouer 2.3.1 , suivez ces étapes.
1) Ajouter le connecteur MySQL / J dans la dépendance du projet (qui se trouve dans /project/build.sbt)
2) Décommentez la ligne de configuration ebean par défaut ebean.default = "models. *"
3) Configurez correctement la base de données MySQL avec un encodage de caractères approprié
4) La plupart des Imp. Exécutez une commande de rechargement dans la console.
la source
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
et je l'ai également ajouté/etc/environment
(comme décrit sur help.ubuntu.com/community/JDBCAndMySQL ). Ça ne marche toujours pas.Jouer 2.4.3 et MYSQL 5.7.9
J'ai pu faire fonctionner cela en rassemblant des informations de toutes les réponses précédentes. En voici donc un autre, qui, espérons-le, est plus à jour ou utile à ceux qui ont un environnement similaire.
Détails de l'environnement: ( c'est ce que j'utilise )
appication.conf
Remarque:
3306
l'exemple car c'est généralement la valeur par défaut pour MYSQL.build.sbt
Ajoutez cette ligne ci-dessous à votre fichier build.sbt. Cela devrait aller après la
libraryDependencies ++= Seq()
déclaration.finalement
activator reload
la source
Pour jouer au projet Java en utilisant SBT
Changez le libraryDependency en llok comme ceci dans "build.sbt"
Exécutez votre projet en utilisant "Activator Run"
La lecture désactivera le connecteur jdbc requis.
la source
J'ai eu le même problème dans le dernier framework de jeu 2.4.x avec l'activateur 1.3.6.
Voici les étapes. J'ai suivi les étapes décrites ici https://www.playframework.com/documentation/2.4.x/JavaDatabase
Voici mon
application.conf
Voici
build.sbt
plugins.sbt
Voici l'étape importante.
la source
Pour moi ce travail, ajoutez cette ligne ci-dessous dans vos dépendances:
Voici le code:
la source