Java MySQL 连接

Java MySQL 连接

也有一阵子没用eclipse连接MySQL了,今天在这里记录一下相应的一系列流程,以后方便看一下:

1、连接数据肯定是需要驱动包,这里的下载地址为:

http://static.runoob.com/download/mysql-connector-java-5.1.39-bin.jar

2、因为下载了一个Navicat for MySQL,作为MySQL的数据库可视化操作工具,还是值得使用的,接下来我们进行数据库的创建,在 MySQL 中创建 RUNOOB 数据库,并创建 web数据表,表结构如下:

 CREATE TABLE `websites` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
 `url` varchar(255) NOT NULL DEFAULT '',
 `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
 `country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

并且插入了一些数据:

INSERT INTO `websites` VALUES 
('1', 'Google', 'https://www.google.cm/', '2', 'USA'), 
('2', 'Xinglang', 'https://www.baidu.com', '15', 'CHINA'),
('3', 'Baidu', 'http://weibo.com/', '20', 'CHINA'),
('4', 'Facebook', 'https://www.facebook.com/', '3', 'USA'),
('5', 'TentCent', 'http://www.qq.com/', '21', 'CHINA');

3、连接数据库

以下实例使用了 JDBC 连接 MySQL 数据库,注意一些数据如用户名,密码需要根据你的开发环境来配置:

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

/*
 * 使用JDBC连接数据库需要四步:
 * 第一步加载驱动程序;
 * 第二步,连接数据库;
 * 第三步,访问数据库;
 * 第四步,执行查询;
 * 其中在第四步执行查询时,要用statement类的executeQuery()方法来下达select指令以查询数据库,
 * executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。
 * 即语句:String sql="select * from"+tableName; ResultSet rs=s.executeQuery(sql);
 */
public class MySQLDemo {

static final String JDBC_DRIER="com.mysql.jdbc.Driver"; 
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
static final String USER="root";
static final String PASSWORD="";

public static void main(String[] args) {
	Connection con=null;
	Statement  stat=null;
	try {
		//注册JDBC驱动
		Class.forName("com.mysql.jdbc.Driver");
		//连接数据
		System.out.println("连接数据库:");
		con=(Connection) DriverManager.getConnection(DB_URL,USER,PASSWORD);
		
		//执行查询
		System.out.println(" 实例化Statement对...");
		//就是用conn连接创建一个statement对象,这个对象有executeUpdate方法执行传入的sql语句
		stat=(Statement) con.createStatement();
		String sql;
		sql="SELECT id,name,url,country,alexa From WEB";
		ResultSet rs=stat.executeQuery(sql);
		// 展开结果集数据库
		while(rs.next()){
		// 通过字段检索
		int id  = rs.getInt("id");
		String name = rs.getString("name");
		String url = rs.getString("url");
		String country=rs.getString("country");
		int alexa=rs.getInt("alexa");
			
		// 输出数据
		System.out.print("ID: " + id);
		System.out.print(", 站点名称: " + name);
		System.out.print(", 站点 URL: " + url);
		System.out.print(", 站点排名: " + alexa);
		System.out.print(", 站点 所在国家: " + country);
		System.out.print("\n");
		}
		// 完成后关闭
		rs.close();
	    stat.close();
	    con.close();
		}catch(SQLException se){
		// 处理 JDBC 错误
		se.printStackTrace();
	   }catch(Exception e){
					
		// 处理 Class.forName 错误
		e.printStackTrace();
		}finally{
	// 关闭资源
				
		try{
		//记得要关闭资源,可以看到数据库连接时有限制的,如果连接不关闭,而且使用的人比较多,那么系统很快就down掉了。		
			if(stat!=null) stat.close();
					}catch(SQLException se2){
					}// 什么都不做
					try{
						if(con!=null) con.close();
					}catch(SQLException se){
						se.printStackTrace();
					}
				}
				System.out.println("各大网站展示完毕");
			}
}