预备工作
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 数据源技术