当前位置:文档之家› Java连接MySQL数据库

Java连接MySQL数据库

Java与Myql数据库的连接问题
在我痛苦的try了N多次之后我终于明白,一个.java文件如何与mysql数据库连同并且可以在小黑屏里显示数据库里面的内容,数据库的驱动文件的安装实在是件头疼的事,实际上是不需要安转的,按如下步骤即可轻松解决。

1.在网上下载一个数据库驱动程序,例如我下载的是(0002mysqlconnectorjava517(1).rar)大小是7.71MB,解压之,到
0002mysqlconnectorjava517(1)或者到当前文件,在mysql-connector-java-5.1.7文件里有个mysql-connector-java-5.1.7-bin.jar文件,可以将此文件解压也可以不解压,
下面有a、b两种方法(结果是一样),首先我的文件是这样放的:
a.我的那个没解压的.jar文件在D:\mysql-connector-java-5.1.7这个文件夹里面(就是那个694kb的压缩包)
b.我把这个.jar文件解压后放在的D:\mysql-connector-java-5.1.7这个文件夹里面(就是那个mysql-connector-…)文件夹
2.配置环境变量(这是最要命的)我的电脑-->属性-->高级-->环境变量(N)-->系统变量-->新建classpath
如果是上面的a情况那么是这样配的
变量值是:D:\mysql-connector-java-5.1.7\mysql-connector-java-5.1.7-bin.jar;
请切记变量值后面一定要有一个分号----【;】切记要有这个不然就出现如下异常错误并且在每次设置环境变量之后DOS框是要重新启动的不然没有生效的是。

D:\Java>javac database.java
D:\Java>java database
Exception in thread "main" ng.NoClassDefFoundError: database
Caused by: ng.ClassNotFoundException: database
at .URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at .URLClassLoader.findClass(URLClassLoader.java:188)
at ng.ClassLoader.loadClass(ClassLoader.java:307)
at uncher$AppClassLoader.loadClass(Launcher.java:301)
at ng.ClassLoader.loadClass(ClassLoader.java:252)
at ng.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: database. Program will exit.
D:\Java>
当配置正确后就可以查询数据库的内容了如下所示。

如果是上面的b情况那么是这样配的
D:\mysql-connector-java-5.1.7\mysql-connector-java-5.1.7-bin;
请同样注意最后的那个分号,没有的话是仍然不可以的,这最让人痛疼的了.
附加A:
有的说还要加载jdk的tools,例如先找到我的jdk安装目录如下
注意:那个tools文件夹是我解压tools.jar得到的原来没有的
也就是说这种说法下必须把这个也得加载到环境变量里面也就是在配置classpath时要这么配
变量值是:.;D:\Program
Files\JA V A_JDK\lib\tools;D:\mysql-connector-java-5.1.7\mysql-connector-java-5.1.7-bin;
注意:第一个.;是java的jdk配置时保留下来的也就是默认的路径了这样照样出来结果:
附加B:Eclipse链接mysql数据库(正常的建立项目添加Mysql连接)
点Next
注意:选择第二个安装外部的(External)拓展包,也就是选择(Add External JARs…)
打开之后可见如下的图示
然后Finish即可。

这样在src里面新建.java文件即可链接MySQL数据库了
例如如下的代码
import java.sql.Connection;
import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;
import java.sql.SQLException;
public class database
{
public static void main(String[] args)
{
String driver="org.gjt.mm.mysql.Driver";//加载jdbc驱动
String url="jdbc:mysql://localhost:3306/mldn";
String user="root";
String password="";
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,passwor d);
}
catch (Exception e)
{
e.printStackTrace();
}
try
{
//Statement stmt=conn.createStatement();
String sql="SELECT
empno,ename,job,sal,hiredate FROM emp";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next())
{
int empno = rs.getInt(1) ;
String ename = rs.getString(2) ;
String job = rs.getString(3) ;
float sal = rs.getFloat(4) ;
java.util.Date date = rs.getDate(5) ;
System.out.print("编号"+ename+"\t");
}
}
catch (SQLException e)
{
System.out.println("Message:
"+e.getMessage());
}
finally
{
try{
rs.close();
pstmt.close();
conn.close();
}
catch(SQLException e)
{
System.out.println(e.getMessage());
}
}
}
}
附加C:Eclipse链接mysql数据库(非正常的连接即导入的项目与数据库MySql的连接问题解决)
1.当从别的地方copy的项目导入自己的电脑上的Eclipse时往往会出现问题,也就是与数
据库的链接问题如下。

也就是找不到连接数据库的第三方包。

2.解决办法:在相对应的项目上右键选择最后一项properties,
3.选择Java Build Path 右面的Libraries选项卡,选中有小叉的那个包删除(右面Remove)
掉。

删除后如下
4. 然后从新连接包,点击右面的 Add External JARS..
点击OK 即可
这便解决问题了。

相关主题