JDBC基本使用

 

J2EE技术规范(二)——JDBC

分类: java 1060人阅读 评论(8) 收藏 举报

一、了解JDBC

(1) JDBC是以统一方式访问数据库的API

(2) JDBC提供:

    独立于平台的数据库访问

    位置透明

    对专有数据库的问题时透明的

 

二、了解JDBC驱动程序

(1) JDBC Drivers是实现数据库操作的类

(2) Drivers分成两类:

  2-层——客户直接和数据库会话

  3-层——客户与代表数据库的中间层(WebLogic Server)会话

其实也就是:两层架构直接与数据库进行处理

三层架构加载数据库的中间层

这些跟.net几乎没什么差别。我们继续来看一个图:

我们看这个图有什么想发?

第4种:居于Java特色的。不需要安装软件和客户端;跟位置与平台是没有关系的。,

第1、2、4:都是两层的类型,直接连接到数据库的

第3种:基于NetworkServer集中式的监控,屏蔽丢不同的平台。在1、2、4的基础上,通过webserver来连接的一种资源。是一种特殊的jdbC的类型

三、使用JDBC直接访问数据库

(1) 直接访问数据库由下列组成:

     加载JDBC驱动器类

我们看一下直接连接数据库的示例:

(2) 使用基本的JDBC命令

 

[java] view plaincopy
 
  1. import java.sql.*;  
  2. try{  
  3.    class.forName("com.pointbase.jdbc.jdbcUniversalDriver");  
  4.    Connection con=DriverManager.getConnect("jdbc:pointbase;//server:port/MyDatabase");  
  5.    Statement stmt=con.createStatement();  
  6.    String sql="select * from mytable";  
  7.    ResultSet res=stmt.executeQuery(sql);  
  8.    while(res.next()){  
  9.         String col1=res.getString("MYCOLUMN1");  
  10.         int col2=res.getInt("MYCOLUMN2");      
  11.    }catch(Exception e){...}  
  12. }  

四、使用多层(Type3)Drivers

要使用多层体系结构,必须至少配置一个连接池(Connection Pool和一个数据源(DataSource)

五、连接池Connection

连接池:

    消除频繁建立连接所需的负载

    是用于管理数据库连接的管理对象

    提供可共享,安全的连接

六、数据源Data Sources

Data Sources是:

    从连接池中提供连接的被管理的工厂对象

    绑定到JNDI并使用管理控制台配置

 

七、我们通过数据源Data Sources访问数据库

(1) 使用DataSource:

    先在JNDI中查找到它

    然后从DataSource获得一个连接

使用数据源连接数据库的示例:

 

[java] view plaincopy
 
  1. import java.sql.*;import javax.sql.*;import javax.naming.*;...  
  2. try{  
  3.   
  4.     context ctx=new InitialContext();  
  5.     DataSource ds=(DataSource)ctx.lookup("TestDataSource");  
  6.     Connection con=ds.getConnection();  
  7.     Statement stmt=con.createStatement();  
  8.     String sql="SELECT * FROM MYTABLE";  
  9.     ResultSet res=stmt.executeQuery(sql);  
  10.     While(res.next()){  
  11.       String col1=res.getString("MYCOLUM1");  
  12.       ...  
  13. }  
  14.     con.close();  
  15. }catch(Exception e){...}  

 

八、Statements和Prepared Statements

(1) Statement对象含有与数据库交互的SQL查询或更新语句

  使用Statement对象查询数据库的示例:

 

[java] view plaincopy
 
  1. Statement stmt=con.createStatement();  
  2. String sql="SELECT * FROM MYTABLE";  
  3. ResultSet res=stmt.excuteQuery(sql);  

 

使用PreparedStatement对象查询数据库的示例:

 

[java] view plaincopy
 
  1. String sql="SELECT * FROM MYTABLE WHERE COL1=? AND COL2=?";  
  2. PreparedStatement pStatement=con.prepareStatement(sql);  
  3. pStatement.setString(1,searchVariableString);  
  4. pStatement.setInt(2,searchVariableInt);  
  5. ResultSet rs=pStatement.executeQuery();  

 

这只是初步了解,还需要应用到项目当中去呀。

posted on 2014-05-29 23:38  Lishenyin  阅读(209)  评论(0编辑  收藏  举报

导航