JDBC数据库编程总结(一)

JDBC数据库编程步骤:

1.Load the Driver  加载驱动程序

       准备工作:使用Eclipse,工程建好后要把数据库驱动程序引入,方法是Builder Path->Libraries->Add Library->选择数据库驱动程序
       (1)Class.forName()|Class.forName().newInstance()|new DriverName()
       (2)实例化时自动向DriverManager注册,不需要显式调用DriverManager.registerDriver()方法


2.Connect to the DataBase   连接数据库
       DriverManager.getConnection()


3.Execute the SQL  执行SQL语句
       (1) Connection.CreateStatement()
       (2) Statement.executeQuery()
       (3) Statement.executeUpdate()


4.Retrive the rusult data   循环取结果

       循环取得结果while(ResultSet.next())


5.Show the result data   处理结果
       将数据库中的各种类型转换成Java中的类型(getXXX())方法


6.Close   关闭连接
       (1) close the resultset
       (2) close the statement
       (3) close the connection

JDBC数据库编程注意事项:

       由于java.sql包中很多方法会抛出异常,因此为使第六步Close部分能够被执行,使资源被安全释放,应该使用try……catch……finally语句。

JDBC数据库编程连接MySql、SQLServer、Oracle的方法:

Code:
  1. package ttwork.jdbc;   
  2.   
  3. import java.sql.Connection;   
  4. import java.sql.DriverManager;   
  5. import java.sql.SQLException;   
  6.   
  7. public class ConnectionFactory {   
  8.     private static String driverName;   //数据库驱动的名字   
  9.     private static String dburl;        //连接服务器和数据库   
  10.     private static String userName;     //用户名   
  11.     private static String password;     //密码   
  12.     private static Connection con;      //连接成功返回connection对象   
  13.        
  14.     public static Connection createMySqlConnection() throws ClassNotFoundException, SQLException {   
  15.         driverName = "com.mysql.jdbc.Driver";   
  16.         dburl = "jdbc:mysql://localhost:3306/sample";   
  17.         userName = "root";   
  18.         password = "123";   
  19.            
  20.         Class.forName(driverName);   
  21.         con = DriverManager.getConnection(dburl,userName,password);   
  22.            
  23.         return con;   
  24.     }   
  25.        
  26.     public static Connection createSqlServerConnection() throws ClassNotFoundException, SQLException {   
  27.         /*  
  28.          * 下面部分用于在SqlServer 2000 中加载驱动和设置URL路径  
  29.          */  
  30.         driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";   
  31.         dburl = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";   
  32.         /*  
  33.          * 下面部分用于在SqlServer 2005 中加载驱动和设置URL路径  
  34.          */  
  35.         driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   
  36.         dburl = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";   
  37.            
  38.         userName = "sa";   
  39.         password = "123456";   
  40.            
  41.         Class.forName(driverName);   
  42.         con = DriverManager.getConnection(dburl,userName,password);   
  43.            
  44.         return con;   
  45.     }   
  46.        
  47.     public static Connection createOracleConnection() throws ClassNotFoundException, SQLException {   
  48.         driverName = "oracle.jdbc.driver.OracleDriver";   
  49.         dburl = "jdbc:oracle:thin:@127.0.0.1:1521:oracleSID";   
  50.         userName = "sa";   
  51.         password = "123456";   
  52.            
  53.         Class.forName(driverName);   
  54.         con = DriverManager.getConnection(dburl,userName,password);   
  55.            
  56.         return con;   
  57.     }   
  58. }  

为了便于查看,3种数据库的连接写在了一个类当中,实际编程中不会这样来做。

在Eclipse轻松查看数据库中的数据:

     Window -> show view -> other -> Data Management -> Data Source Explorer -> Database Connections -> 右键 new -> 选择你使用的数据库 -> 填写相关的信息即可在eclipse的output中查看你的操作结果

JDBC编程实例:(MySql)

Code:
  1. package ttwork.jdbc;   
  2.   
  3. import java.sql.Connection;   
  4. import java.sql.Statement;   
  5. import java.sql.ResultSet;   
  6. import java.sql.SQLException;   
  7.   
  8. public class TestJdbc {   
  9.     public static void main(String[] args) {   
  10.         Connection con = null;  //连接   
  11.         Statement stmt = null;  //SQL陈述   
  12.         ResultSet rs = null;    //结果集   
  13.         try {   
  14.             con = ConnectionFactory.createMySqlConnection();   
  15.             stmt = con.createStatement();   
  16.             //下面这条语句只能被执行一次,多次执行会产生插入异常   
  17.             //stmt.executeUpdate("insert into sample values ('10001', 'taotao', '22', '男')");   
  18.             rs = stmt.executeQuery("select * from sample");   
  19.             while(rs.next()) {   
  20.                 System.out.print(rs.getString(1)+" ");   
  21.                 System.out.print(rs.getString(2)+" ");   
  22.                 System.out.print(rs.getInt(3)+" ");   
  23.                 System.out.println(rs.getString(4));   
  24.             }   
  25.         } catch(ClassNotFoundException e) {   
  26.             System.out.println("没用找到驱动程序,加载失败,程序即将结束!");   
  27.         } catch(SQLException e) {   
  28.             System.out.println("数据库出现异常,程序即将结束!");   
  29.         } finally {   
  30.             try {   
  31.                 if(rs != null) {   
  32.                     rs.close();   
  33.                     rs = null;   
  34.                 }   
  35.                 if(stmt != null) {   
  36.                     stmt.close();   
  37.                     stmt = null;   
  38.                 }   
  39.                 if(con != null) {   
  40.                     con.close();   
  41.                     con = null;   
  42.                 }   
  43.             } catch (SQLException e) {   
  44.                 e.printStackTrace();   
  45.             }   
  46.         }   
  47.     }   
  48. }  

下一篇:JDBC数据库编程总结(二)

你可能感兴趣的:(JDBC数据库编程总结(一))