用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的。