日期:2014-05-16  浏览次数:20394 次

JDBC连接数据库(上)
  ?创建一个以JDBC连接数据库的程序:   
1、加载JDBC驱动程序   
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),   
    这通过java.lang.Class类的静态方法forName(String  className)实现。   
    例如:   
  
 try{    
    //加载MySql的驱动类    
    Class.forName("com.mysql.jdbc.Driver") ;    
    }catch(ClassNotFoundException e){    
    System.out.println("找不到驱动程序类 ,加载驱动失败!");    
    e.printStackTrace() ;    
    }    
   成功加载后,会将Driver类的实例注册到DriverManager类中。   

2、提供JDBC连接的URL
   ?连接URL定义了连接数据库时的协议、子协议、数据源标识。   
    ?书写形式:协议:子协议:数据源标识   
    协议:在JDBC中总是以jdbc开始   
    子协议:是桥连接的驱动程序或是数据库管理系统名称。   
    数据源标识:标记找到数据库来源的地址与连接端口。   
    例如:(MySql的连接URL)   
   
URL ="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk";  
 
   useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为   
   gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。   

3、创建数据库的连接      
?要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。   
?使用DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。   
     例如:   
     //连接MySql数据库,用户名和密码都是root   
 
String url = "jdbc:mysql://localhost:3306/test";
		String username = "root";
		String password = "root";
		try {
			Connection con = DriverManager.getConnection(url, username,
					password);
		} catch (SQLException se) {
			System.out.println("数据库连接失败!");
			se.printStackTrace();
		}
  

4、创建一个Statement       
?要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下
      3种类型:   
      1)、执行静态SQL语句。通常通过Statement实例实现。   
      2)、执行动态SQL语句。通常通过PreparedStatement实例实现。   
      3)、执行数据库存储过程。通常通过CallableStatement实例实现。   
    具体的实现方式:   
       
Statement stmt = con.createStatement() ;    
       PreparedStatement pstmt = con.prepareStatement(sql) ;    
       CallableStatement cstmt =     
        con.prepareCall("{CALL demoSp(? , ?)}") ;  
 
5、执行SQL语句   
    Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute。   
    1)、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。   
     2)、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等   
     3)、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。   
   具体实现的代码:   
    
ResultSe