A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jeik 中级黑马   /  2014-11-5 12:51  /  651 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一章 JDBC快速入门:

Jdbc简介:
上图结构反应出jdbc是和数据库,和应用程序打交道的。
Jdbc是由sun公司开发的一套接口标准。
而下面的数据库都实现了Jdbc的接口,不同生产商实现的方式不同,导致了数据库的多元化。
第一节:通过jdbc访问数据库。
第一步注册数据库驱动:就是让计算机能过找到你添加jdbcjar里面的驱动类。通过JdbcUtil里的static来实现
第二步建立连接。conn=DriverManager.getConnection(url,usename,pwd);
第三步创建Statement语句 st= conn.createStatement();
第四步执行sql语句 rs=st.execute(sql);
第五步处理结果集ResultSet . while(rs.next){do something…}
第六步释放资源。JdbcUtil.free();
代码如下:
public class JdbcBasic {
public static void main(String[] args) throws SQLException {
  //2建立连接
  Connection conn=JdbcUtil.getConnection();
  //3 创建语句
  Statement st=conn.createStatement();
  //4 执行语句
  ResultSet rs=st.executeQuery("select id,name,birthday from loginUser");
  //5处理结果集
  while(rs.next()){
   System.out.println(rs.getInt("id")+"\t"+
     rs.getString("name")+"\t"+rs.getDate("birthday"));
  }
  //6释放资源
  JdbcUtil.freeSource(rs,st,conn);
}
}
Jdbc工具类如下:
作用主要是注册数据库驱动,和建立连接,以及释放资源等功能;
package cn.utils;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JdbcUtil {
private static Connection connection;
private static String url;
private static String username;
private static String password;
/*1注册驱动。静态代码块:当类被加载到内存的时候 首先执行静态代码块。在这个类生命周期内
  * 静态代码块只会执行一次。因为第一次加载类的时候,内存中就运行了,并且存放在内存中。
  * 所以当你在new对象的时候,静态代码块是不会执行的。*/
static{
  try {
   //利用反射找到oracleDriver类的字节码,这个类自己会注册生产商的驱动
   Class.forName("oracle.jdbc.driver.OracleDriver");
   InputStream ips=JdbcUtil.class.getClassLoader().
   getResourceAsStream("dbcpConfig.properties");
   Properties prop=new Properties();
   prop.load(ips);
   url=prop.getProperty("url");
   username=prop.getProperty("user");
   password=prop.getProperty("password");
  } catch (Exception e) {
   e.printStackTrace();
   throw new ExceptionInInitializerError(e);
  }
}
//2建立连接
public static Connection getConnection(){
  try {
   connection = DriverManager.getConnection(url, username, password);
  } catch (SQLException e) {
   e.printStackTrace();
   throw new RuntimeException(e);
  }
  return connection;
  
}
//6释放资源
public static void freeSource(ResultSet rs,Statement st,Connection connection){
  if(rs!=null){
   try {rs.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }finally{
    if(st!=null){
     try {st.close();
     } catch (SQLException e) {
      e.printStackTrace();
     }finally{
      if(connection!=null){
       try {connection.close();
       } catch (SQLException e) {
        e.printStackTrace();
       }
      }
     }
    }
   }
  }
}
}





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马