黑马程序员技术交流社区

标题: 关于JDBC URL [打印本页]

作者: 金_鑫    时间: 2012-7-30 17:29
标题: 关于JDBC URL
JDBC URL 提供了一种标识数据库的方法,可以使相应的JDBC驱动程序能识别数据库并与之建立连接。实际上,在编写JAVA程序时,不必关心如何来形成JDBC URL,只需使用与JDBC驱动程序一起提供的URL即可。
JDBC URL的标准语法由以下三个部分组成,各部分件用冒号分隔。
jdbc:<子协议>:<子名称>
三个部分可以分解如下:
其中jdbc代表协议;<子协议>驱动程序名或数据库连接机制的名称;<子名称>一种标识数据库的方法。
例如:jdbc:odbc:student


jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student

作者: 唐志兵    时间: 2012-7-30 17:34
最好是使用一个工具类 ,把代码封装进去。
  1. /**
  2. package cn.utils;

  3. import java.sql.Connection;

  4. /**
  5. * @author xiaodao
  6. *
  7. */
  8. public final class jdbcUtil {
  9.         private String url = "jdbc:mysql://localhost:3306/jdbc";
  10.         private String username = "root";
  11.         private String password = "123456";
  12.        
  13.         private static jdbcUtil instance = null;

  14.         private jdbcUtil(){}
  15.        
  16.         static{
  17.                 try {
  18.                         Class.forName("com.mysql.jdbc.Driver");
  19.                 } catch (ClassNotFoundException e) {
  20.                         throw new ExceptionInInitializerError();
  21.                 }
  22.         }
  23.         public static jdbcUtil getInstance(){
  24.                 if (instance == null) {
  25.                         synchronized (jdbcUtil.class) {
  26.                                 if (instance == null) {
  27.                                         instance =  new jdbcUtil();
  28.                                 }
  29.                         }
  30.                 }
  31.                 return instance;
  32.         }
  33.        
  34.         public Connection getConnection() throws SQLException{
  35.                 return DriverManager.getConnection(url, username, password);
  36.         }
  37.         public static void free(ResultSet rs,Statement st,Connection conn) {
  38.                 try {
  39.                         if (rs != null) {
  40.                                 rs.close();
  41.                         }
  42.                 }catch (Exception e) {
  43.                         e.printStackTrace();
  44.                 }
  45.                 finally{
  46.                         try {
  47.                                 if (st != null) {
  48.                                         st.close();
  49.                                 }
  50.                         }catch (Exception e) {
  51.                                 e.printStackTrace();
  52.                         }
  53.                         finally{
  54.                                 try{
  55.                                         if (conn != null) {
  56.                                                 conn.close();
  57.                                         }
  58.                                 }
  59.                                 catch (Exception e) {
  60.                                         e.printStackTrace();
  61.                                 }
  62.                         }
  63.                 }
  64.         }
  65. }
复制代码

作者: 金_鑫    时间: 2012-7-30 17:36
唐志兵 发表于 2012-7-30 17:34
最好是使用一个工具类 ,把代码封装进去。

嗯 嘻嘻 我原来的课堂笔记




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2