用JDBC来连接数据库,基本步骤都大同小异,只不过不同的数据库之间的URL有些不同。其基本步骤可分为以下几点:
1、加载相应数据库的JDBC驱动程序。
2、利用驱动管理器DriverManager获得连接Connection。
3、通过连接对象Connection获得Statement对象,以便于执行SQL语句。
4、结果以ResultSet类型返回,通过while循环遍历ResutlSet结果,直到ResultSet.next()为空时结束循环。
5、关闭Statement和Connection。
以下为实例Demo:
MySQL:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MySQLDemo { private Connection conn = null; private Statement stmt = null; private ResultSet rs = null; private String driverclass="com.mysql.jdbc.Driver"; private String url="jdbc:mysql://localhost:3306/mydb"; private String user="root"; private String password="password"; public SQLServerTest() { try { Class.forName(driverclass).newInstance(); //加载驱动程序 } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block System.out.println("class not found"); } try { conn = DriverManager.getConnection(url, user, password); //获得Connection对象 } catch (Exception e) { System.out.println("Connect failed!"); } } public void selectMethod(String sql) { System.out.println("id title"); try { stmt = conn.createStatement(); //获得Statement对象 rs = stmt.executeQuery(sql); //执行SQL语句,并返回ResultSet类型的结果 while (rs.next()) { String title = rs.getString("id"); String name = rs.getString("name"); System.out.println(title+" "+name); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void closeDB() throws SQLException { if (rs != null) rs.close(); if (stmt != null) stmt.close(); //关闭Statement对象 if (conn != null) //关闭Connection对象 conn.close(); } public static void main(String args[]) { MySQLDemo demo = new MySQLDemo(); demo.selectMethod("select * from test"); } }
Oracle和SQLServer的Demo程序与MySQL的类似,只是参数URL格式和Driver的名称不同,如下所示:
Oracle的URL格式和Dirver名称:
url="jdbc:oracle:thin:@127.0.0.1:1521:mydb"; //orcl为Oracle的实例名称 driverclass= "oracle.jdbc.driver.OracleDriver";
SQLServer的URL格式和Driver名称:
driverclass= "com.microsoft.sqlserver.jdbc.SQLServerDriver"; url = "jdbc:sqlserver://localhost:1433;databasename=mydb";
在URL中localhost即表示本地,也可以用127.0.0.1表示本地,localhost后面的数字表示数据库服务的端口,每个数据库都有本身默认的端口,如无特殊需要,在安装数据库软件的时候采用默认即可。在开发数据库应用时,与数据库相应的JDBC驱动程序是必须的。本文中所用的三个驱动程序可在网站上搜索下载,下载的时候注意选择版本。在运行程序的时候,一定要保证相应的数据库服务已经启动,否则程序无法连接数据库,会抛出Exception的。