Java连接MySQL的经验总结

今天开始在一台新的服务器上配置能连接数据库的Java程序,这里选择连接MySQL。这篇日志里,将记录一些经验和自己的疑问。

感兴趣的朋友,可以结合参考我之前的一篇博客,一起来学习一下。

首先,还是在:http://www.mysql.com/downloads/mysql/ 下载MySQL安装程序。按照之前博客总结的简单步骤,安装好MySQL的最新版本后(我这里是5.5.16),还是选择Navicat作为可视化管理工具(我也没有仔细调研过其他可视化管理方法,这个工具我拥有的破解版本也比较老)。(上述过程也请到我之前的一篇博客参考)。

其次,下载MySQL的官方JDBC连接器。点击 http://dev.mysql.com/downloads/connector/j/ 进行下载。(我这里下载的版本是Connector/J 5.1.18)

下载后解压到某一位置,然后将mysql-connector-java-5.1.18-bin.jar的位置加入到环境变量CLASSPATH中,对于如何不重启系统而使环境变量生效,可参考我之前的一篇博客

依照我之前的习惯,会新建一个数据库连接类(例如命名为DBConnection.java)

import java.sql.*;

public class DBConnection {
	
	private Connection con;
	public DBConnection(){
		String 	CLASSFORNAME ="com.mysql.jdbc.Driver";
		String SERVANDDB ="jdbc:mysql://127.0.0.1:3306/test";
		String USER ="root";
		String PWD ="%之前设置的root密码%";
		try
		{
			Class.forName(CLASSFORNAME);
			con = DriverManager.getConnection(SERVANDDB,USER,PWD);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	public int getRes(String sql)
	{
		try
		{
			Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			int result=stmt.executeUpdate(sql);
			return result;
		}
		catch(Exception e){
			e.printStackTrace();
					}
		return 0;
	}
	public ResultSet getRes2(String sql){
		try
		{
			Statement stmt2=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			ResultSet result=stmt2.executeQuery(sql);
			return result;
		}
		catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}
}

然后在另一个Java文件中新建一个DBConnection对象。

		DBConnection dbcon=new DBConnection();
    	try {
    		String sq="select * from test";
    		ResultSet rs = dbcon.getRes2(sq);
    		rs.next();
    		System.out.println(rs.getString("id"));
    		rs.close();
    	}
		catch (Exception e) { 
			e.printStackTrace(); 
		}

但是实际上这样会报错,会说“java.lang.ClassNotFoundException: com.mysql.jdbc.Driver”

说明刚才设置的环境变量实际上没有起到作用。看网上有人说,直接将mysql-connector-java-5.1.18-bin.jar加入到工程的Build Path即可。步骤:选中工程名——点击右键——选择“Properties”——“Java Build Path”——“Libraries”——“Add External JARs”,打开的对话框中选择mysql-connector-java-5.1.18-bin.jar。就可以正常执行了。但是这种方法毕竟太麻烦,不知道环境变量设置有什么问题。

另外,DBConnection.java这个文件我会包含两个public的method:public int getRes(String sql)和public ResultSet getRes2(String sql),前者用于插入而后者用于查询。其实原则上只建立一个method就可以了。这只是我自己的习惯。

进行好上述设置之后,实际上就可以正常运行了,至此,Java连接MySQL的整个过程就基本实现了。其实很简单,但是还想记录下来,供一些初学的朋友参考。

(2012年9月15日补充:由于这篇日志写好之后被查看了很多次,这里补充一点内容,以免误导一些朋友:很多情况下连接数据库时,都是Web项目,这时候最好是把JDBC连接器,如“mysql-connector-java-5.1.21-bin.jar”放到WebRoot/Web-INF/lib目录下,这样更方便项目的迁移。)

posted on 2011-10-13 14:18  qysh123  阅读(7968)  评论(1编辑  收藏  举报

导航