正如我前面所说,我一般不爱把东西写出来,但我发现这是个很不好的习惯,网络的一个很大的好处就是大家可以自由交流,现在回想起来,我在网络上学到了好多的东西,自己也应该有一个把零零散散的东西记录起来的好习惯,说不定也能对别人有所帮助。
废话少说,最近初学java,这两天被java与mysql数据库连接的问题弄得焦头烂额,按照网上大家说的弄,本来过程很明确,可实际操作却遇到了好多问题,不过终于能连上了,现在把我的一点心得作一总结。
我所用的软件分别为:j2sdk1.4.2_08,tomcat5.0,jcreator3.5。
我最终所用的测试程序源代码为(参照<<java数据库应用程序编程指南>>一书):
import java.sql.*;
public class MakingAStatement {
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args) {
// TODO: Add your code here
//Load the driver
try{
//Load the driver class
Class.forName("org.gjt.mm.mysql.Driver");
//This defines the data source for the driver
String sourceURL =
new String("jdbc:mysql://localhost/jondy");
//Create connection through the driver
Connection databaseConnection =
DriverManager.getConnection(sourceURL,"root","2761112");
Statement statement = databaseConnection.createStatement();
ResultSet pet =
statement.executeQuery("SELECT * " + "FROM pet");
//Output the resultset data
while(pet.next()){
System.out.println(pet.getString("sex") + " " + pet.getString("name"));
}
//Close connection
databaseConnection.close();
}
catch(ClassNotFoundException cnfe){
System.err.println(cnfe);
}
catch(SQLException sqle){
System.err.println(sqle);
}
}
}
其中,我已先建好了一个名为jondy的数据库,里面一个pet表。
然后是所用的jdbc的驱动,我找到两个,都是网上大家介绍的好用的,分别为mysql-connector-java-3.1.10-bin.jar和mm.mysql-2.0.4-bi.jar,但是我发现,在我所用的配置里,采用mm.mysql-2.0.4-bin.jar编译是可以通过,但在运行时总是出现Communication failure during handshake. Is there a server running on 127.0.0.1:3306?的错误,所以选择一个好用的驱动也是至关重要的。
选好了驱动,就是classpath的设置,我的classpath设置为 classpath =%JAVA_HOME%/lib/mysql-connector-java-3.1.10-bin.jar;%JAVA_HOME%/lib;%TOMCAT_HOME%/common/lib;C:/j2sdk1.4.2_08/lib/tools.jar;.其中,JAVA_HOME = C:/j2sdk1.4.2_08,当然这么设置的前提是把mysql的驱动程序放在C:/j2sdk1.4.2_08/lib中。
还有如果用jcreator,jbuider,eclipse或其他工具进行编译运行的时候,必须要先进行相应设置,我用的是jcreator,设置方法为:project->project properties->required libraries->add中将所用的jar包加入并选中。jbuider和eclipse的设置方法网上都可找到。