JDBC API重要接口:
java.sql.DriverManager 处理驱动的调入,并且对产生新的数据库连接提供支持
java.sql.Connection 代表对特定数据库的连接
java.sql.Statement 代表一个特定的容器对一个特定的数据库执行SQL语句
java.sql.Statement的两个子类型:
java.sql.PreparedStatement 用于执行预编译的SQL语句
java.sql.CallableStatement 用于执行对一个数据库内嵌过程的调用
java.sql.ResultSet 控制对一个特定语句的行数据的存取
JDBC与数据库连接的步骤:
1.装载驱动程序:
连接Oracle 8/8i/9i的驱动程序:
1.装载驱动程序:
连接Oracle 8/8i/9i的驱动程序:
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
连接SQL Server 7.0/2000的驱动程序:
连接SQL Server 7.0/2000的驱动程序:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
连接DB2的驱动程序:
连接DB2的驱动程序:
Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
连接Informix的驱动程序:
连接Informix的驱动程序:
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
连接Sybase的驱动程序:
连接Sybase的驱动程序:
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
连接MySQL的驱动程序:
连接MySQL的驱动程序:
Class.forName("com.gjt.mm.mysql.Driver").newInstance();
连接PostgreSQL的驱动程序:
连接PostgreSQL的驱动程序:
Class.forName("org.postgresql.Driver").newInstance();
2.建立连接:
Connection con=DriverManager.getConnection(URL,Name,Password);
示例:连接MySQL数据库:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/TestDB?user=SHARP_C&password=sharp_c&useUnicode=true&characterEncoding=8859_1"
Connection con=DriverManager.getConnection(url);
Statement sm=com.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="SELECT * FROM TESTTABLE";
ResultSet rs=sm.executeQuery(sql);
while (rs.next())
{
//对结果的处理
}
rs.close();
sm.close();
con.close();.
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/TestDB?user=SHARP_C&password=sharp_c&useUnicode=true&characterEncoding=8859_1"
Connection con=DriverManager.getConnection(url);
Statement sm=com.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="SELECT * FROM TESTTABLE";
ResultSet rs=sm.executeQuery(sql);
while (rs.next())
{
//对结果的处理
}
rs.close();
sm.close();
con.close();.
示例:连接SQL Server2000 SP3:
需要的包:
msbase.jar mssqlserver.jar msutil.jar
测试代码:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://GOOGLE:1433;DatabaseName=TEST","SHARP_C","SHARP_C");
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://GOOGLE:1433;DatabaseName=TEST","SHARP_C","SHARP_C");
//我的服务器名称是GOOGLE,用户名和密码都是SHARP_C
String sql="SELECT ID,NAME FROM TEST_TABLE";
Statement sm=con.createStatement();
ResultSet rs=sm.executeQuery(sql);
while (rs.next())
{
System.out.println(rs.getInt(1)+" "+rs.getString(2));
}
rs.close();
sm.close();
con.close();
String sql="SELECT ID,NAME FROM TEST_TABLE";
Statement sm=con.createStatement();
ResultSet rs=sm.executeQuery(sql);
while (rs.next())
{
System.out.println(rs.getInt(1)+" "+rs.getString(2));
}
rs.close();
sm.close();
con.close();

