Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句、访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库的所有类。通过JDBC访问数据库一般有如下几个步骤:
(1)加载JDBC驱动器。将数据库的JDBC驱动加载到classpath中,首先下载sqljdbc4.jar,然后在Eclipse中建立一个工程,右键单击该工程Build path->add将jar包添加到工程下;而在JavaEE的Web应用开发中,通常要把目标数据库产品的JDBC驱动复制到WEB-INF/lib下。
(2)加载JDBC驱动,并将其注册到DriverManager中。一般使用反射Class.forName(StringDriverName)。
(3)建立数据库连接,取得Connection对象。一般通过DriverManager.getConnection(url,username,password)方法实现,其中,url表示连接数据库的字符串,username表示连接数据库的用户名,password表示连接数据库的密码。
(4)建立Statement对象或着PreparedStatement对象。
(5)执行SQL语句。
(6)访问结果集ResultSet对象。
(7)依次将ResultSet、Statement、PreparedStatement、Connection对象关闭,释放掉所占用的资源,例如rs.close(),con.colse()等。因为JDBC驱动通常都是通过网络IO实现SQL命令与数据传输。
一个JDBC访问数据库的例子:
package cn.itclass1;
import java.sql.*;
public class Test {
public static void main(String[] args) throws Exception {
String user="sa";
String password="1374082753";
//sqlserver连接驱动
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//sqlserver链接路径
String url="jdbc:sqlserver://localhost:1433;databaseName=Student";
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName(driver);
con=DriverManager.getConnection(url,user,password);
stmt=con.createStatement();
stmt.execute("insert into Employee values(1,'susu',23)");
stmt.execute("insert into Employee values(2,'yan',23)");
rs=stmt.executeQuery("select * from Employee");
while(rs.next())
{
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
try {
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(con!=null) con.close();
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
}
}
}
程序运行结果为:
1 susu 23
2 yan 23