Version imprimable du sujet
Forums MacBidouille _ Les Langages Du Web _ lien entre java et mysql ?
Écrit par : satan87 29 Mar 2004, 09:52
bonjour
je dois faire un programme JAVA qui se connecte a une base de donnée MYSQL
qq sait faire ?
ou sait comment faire (config d'un dns sur mac et lien avec la base de donnée)
merci d'avance
Écrit par : satan87 29 Mar 2004, 12:47
bonjour
je viens de trouver un espece de drivers
org. ... . drivers
ou com . ... .drivers
par contre je ne sia spas ou l'installer
si qq l'a deja fait
merci
Écrit par : dj t@l 29 Mar 2004, 13:39
Il faut utiliser le connecteur jdbc pour utiliser java et mysql ensemble.Regarde par http://www.mysql.com/products/connector-j/ pour le telecharger.Si mes souvenirs sont bon il y a un esample livré avec et de toute les facon il y la docs qui explique comment faire dedans.
C est possible a faire je doit avoir un ex chez moi si tu as besoin...
HTH
Écrit par : Sken 31 Mar 2004, 15:28
Tu peux aller voir http://cappuccino.devue.be/articles/mysql.htm, il est très bien expliqué comment tout installer, et ensuite, sur le même site il y a un tutoriel pour apprendre à se servir de la base mysql
Écrit par : kirk 22 Nov 2006, 19:42
Il y aurait quelqu'un qui aurait fait la manip récemment ou qui aurait un lien vers un site récent qui explique en détail comment procéder ?
J'avoue que je galère pas mal depuis hier
Pour info, je suis sur un macintel avec la dernière version de mac os et MAMP pour apache/php/mysql
D'avance merci
Écrit par : arnaudp 24 Nov 2006, 17:45
vas voir http://cocoamysql.sourceforge.net/
c'est super... c'est en obj c je crois me souvenir, mais ça marche avec java. En plus ya les sources.
Écrit par : arnor 24 Nov 2006, 18:05
C'est pas bien dure...
Pour la connexion :
1°
CODE
Class.forName( "com.somejdbcvendor.TheirJdbcDriver" ); //avec les pilotes
Ceci permet de charger les pilotes...dans le class loader
2°
CODE
Connection conn = DriverManager.getConnection(
"jdbc:somejdbcvendor:other ", //du genre jdbc:mysql://localhost:3306/dbname"
"user",
"myPassword" );
Tu essayes de de connecter en donnant l'emplacement de la db, ton usrname et pwd
3°PS: tu es connecte a la base de données
CODE
Statement stmt = conn.createStatement();
try {
stmt.executeUpdate( "INSERT INTO MyTable( name ) VALUES ( 'my name' ) " );
} finally {
//It's important to close the statement when you are done with it
stmt.close();
}
==> pour executer une requete...en insertion
CODE
Statement stmt = conn.createStatement();
try {
ResultSet rs = stmt.executeQuery( "SELECT * FROM MyTable" );
try {
while ( rs.next() ) {
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1; i <= numColumns; i++ ) {
//Column numbers start at 1.
//Also there are many methods on the result set to return
// the column as a particular type. Refer to the Sun documentation
// for the list of valid conversions.
System.out.println( "COLUMN " + i + " = " + rs.getObject(i) );
}
}
} finally {
rs.close();
}
} finally {
stmt.close();
}
==> pour executer une requete en consultation...
Voilà les bases, pour le reste lis la javadoc...n'oublie pas les import java.sql.*;
Écrit par : kirk 27 Nov 2006, 22:58
merci, j'ai trouvé où était mon problème, j'avais pas placé le driver dans le bon répertoire, ça marche impec maintenant
Écrit par : arnor 28 Nov 2006, 19:38
hello,
coincidence...je dois creer un db-converter avec jdbc, je viens de le tester avec mysql et...marche pas, tu pourrais me dire ce que tu as fait...
j'ai un message du genre user pas autorise a se connecter, pourtant je me connecte avec le root...
merci
Écrit par : kirk 29 Nov 2006, 14:08
Attention, faudrait demander à quelqu'un ayant plus d'expérience que moi, mais je ne pense pas que le root du système et le root mysql soient le même !
Il faut te connecter avec le root mysql, dont le mot de passe par défaut est généralement vide (ou égal à "root" avec MAMP)
Écrit par : JavaDebutant 24 Jan 2007, 10:24
Bonjour à tous, tout nouveau sur le forum
Je me suis inscrit pour vous joindre, je n'arrive pas à installer le driver en question dans mamp afin de connecter java à mysql de mamp.
J'ai vu que vous y etes arrivé il y a peu de temps....
Pouvez vous me contacter?
Écrit par : JavaDebutant 24 Jan 2007, 11:06
CITATION(kirk @ 27 Nov 2006, 22:58) [snapback]1998182[/snapback]
merci, j'ai trouvé où était mon problème, j'avais pas placé le driver dans le bon répertoire, ça marche impec maintenant
ou faut il le placer?
J'ai entendu parler de class path.
Je dois faire aussi une appli java avec lien vers bdd mysql, et je fais aussi tourner mamp
Écrit par : kirk 24 Jan 2007, 13:23
Alors, c'est dans /Library/Java/extension/ de mémoire qu'il faut que tu places le .jar
Écrit par : JavaDebutant 24 Jan 2007, 13:28
c'est fait.
Ensuite ca devient quoi le
Class.forName("com.mysql.jdbc.Driver");
pour s'y connecter, c'est la bonne adresse?
je l'ai mis comme tu m'as dit, ensuite j'ai fait une classe comme ca dans un fichier GestionCanard.java
CODE
//la connection java-mysql
import java.sql.*;
public class GestionCanard {
public static void main(String args[]) {
// The URL that will connect to TECFA's MySQL server
// Syntax: jdbc:TYPE:machine:port/DB_NAME
String url = "jdbc:mysql:localhost:8889/gestion";
// INSTALL/load the Driver (Vendor specific Code)
try {
Class.forName("com.mysql.jdbc.Driver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
Connection con;
Statement stmt;
// Establish Connection to the database at URL with usename and password
con = DriverManager.getConnection(url, "root", "root");
System.out.println ("Hello, Connection to the Gestion table a marché");
con.close();
} catch(SQLException ex) {
System.err.println("==> SQLException: ");
while (ex != null) {
System.out.println("Message: " + ex.getMessage ());
System.out.println("SQLState: " + ex.getSQLState ());
System.out.println("ErrorCode: " + ex.getErrorCode ());
ex = ex.getNextException();
System.out.println("");
}
}
}
}
qui se trouve dans le dossier /GestionPti/
j'ai compiler en faisant javac
et au moment d'executer il me dit no suitable driver...
Écrit par : XL 24 Jan 2007, 21:03
Moi j'ai créé pour un projet cette classe Database
CODE
package GGP_Server;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* The Database class allows to send queries to
* the MySQL Database.
*/
class Database {
private String driver;
private String url;
private Connection connection = null;
//private DatabaseMetaData metaData = null;
private Statement statement = null;
private ResultSet resultSet = null;
/**
* Class constructor.
*
* @param driver the driver to be connected to the database
* using java and JDBC.
* @param url the url location of the database.
*/
Database (String driver, String url) {
this.driver = driver;
this.url = url;
}
/**
* Starts connection to the database. Queries can then be executed.
* @exception SQLException if there has been an error in the MySQL querie.
* @exception Exception if the connection to the database can't be established.
*
*/
void start() throws SQLException, Exception {
if (connection != null) {
stop();
}
Class.forName(driver).newInstance();
connection = DriverManager.getConnection(url);
//DatabaseMetaData dbmt = connection.getMetaData();
statement = connection.createStatement();
}
/**
* Closes the connection to the database.
* @exception SQLException if there's an error trying to close the connection
* to the database.
*/
void close() throws SQLException {
if (resultSet != null) {
resultSet.close();
resultSet = null;
}
}
/**
* Executes a query on the database. Database must have been started.
* Closing the returned ResultSet is optional.
* @param query the MySQL query that will be executed on the database.
* @return the result of the MySQL query.
* @exception SQLException if there's been an executing the query on the database.
*/
ResultSet query(String query) throws SQLException {
close();
resultSet = statement.executeQuery(query);
return resultSet;
}
/**
* Stops connection to <code>Database</code>.
* Queries cannot be sent any more unless <code>Database</code>
* is started again.
* @exception SQLException if there's been an error closing connections.
*/
void stop() throws SQLException {
if (connection != null) {
close();
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
connection = null;
}
}
}
Écrit par : JavaDebutant 24 Jan 2007, 21:50
et tu as la meme chose pour les insertions?
Écrit par : sk@@z 30 Mar 2007, 08:57
J'ai bien pris le connecteur je l'ai placé dans libary/java/extension
dans eclipse je l'ajoute dans add external jars et là le bouton ok n'est pas utilisable il m'est donc impossible de rajouter le connecteur, quelqu'un peut'il m'aider.
Écrit par : lapakrette 19 Oct 2007, 22:18
Salut,
Je ne sais pas si tu as le même problème que moi, mais au début le compilateur me donnait la même erreur. En fait, j'ai juste mis le .jar du mysql connector dans le fichier ext de ton jre (par exemple dans C:\Program Files\Java\jre1.6.0_03\lib\ext si ton jre est dans program files. Après si tu bosses sur Linux, je ne sais pas trop... En tout cas, moi, qui bosse sur ce bon vieux win win et avec Eclipse, après ça a fonctionné comme sur des roulettes.
En espérant que ça résoudra ton problème....
Écrit par : adriana14 25 Apr 2014, 10:48
fait un coup d'oeil sur ce jolie tuto
http://www.vogella.com/tutorials/MySQLJava/article.html
Écrit par : yponomeute 25 Apr 2014, 10:50
Faut espérer qu'au bout de 7 ans il a trouvé une solution
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)