`
PeakLui
  • 浏览: 44256 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用JDBC连接Mysql

    博客分类:
  • Java
阅读更多

预备工作

l  下载驱动包, ftp://sunxin.org:22/downloads/resources/mysql-connector-java-3.1.7-bin.jar

l  如果在IDE中直接把jar包复制进来,直接连接的话,最简便的就把它放在%JAVA_HOME%\jre\lib\ext,%JAVA_HOME%jdk的安装目录,例如D:\j2sdk1.4.2_15,第二种方法就是指定classpath,使其指向这个.jar文件

 

具体步骤:

 

l   Step1:装载驱动类

Class.forName()

 

l   Step2:创建Connection对象来连接DB

使用DriverManager的静态方法getConnection完成,返回一个connection的对象,这就是连接上指定数据库的连接,这个连接是十分宝贵的资源,应及时关闭.

 

l   Step3:使用SQL语句操作数据库

Statement对象里通常放sql语句,ResultSet是查询返回的结果集

 

Eg: 

 

import java.sql.*;

class linkMysqlByJDBC {
	public static void main(String[] args) {
		try {
			String driver = "org.gjt.mm.mysql.Driver"; // 驱动类
			String url = "jdbc:mysql://localhost:3306/TestDB";
			// 连接字符串 其中TestDB是数据库名
			String username = "root"; 	// 用户名
			String password = "123654"; // 密码

			Connection con = null;
			Statement sm = null;
			ResultSet rs = null;

			// ////Step1//////////
			Class.forName(driver);

			// ////Step2//////////
			con = DriverManager.getConnection(url, username, password);

			// ////Step3//////////
			String sql = "insert into t values('Pitt','Pitt@gmail.com')";
			sm = con.createStatement();

			sm.execute(sql);

			String sql2 = "select * from t";
			rs = sm.executeQuery(sql2);
			while (rs.next()) {
				System.out.println(rs.getString("Name") + " "
						+ rs.getString("Email"));
			}

			con.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

 

改进:

 why?

 获取驱动类名,连接字符串,用户名,密码进行了硬编码”,这样做有两个坏处:

l  不安全

这些信息应该被隐藏起来,不能被别人轻易看到.

l  麻烦而又不容易维护

一个项目中肯定很多地方都会用到这4个参数,如果每一次都重复写,很麻烦而且容易出错.

 

how?

l  应用处理资源文件的类

http://peaklui.iteye.com/blog/234162

l  数据源技术

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics