J2EE技术规范(二)——JDBC

一、了解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命令

import java.sql.*;
try{
   class.forName("com.pointbase.jdbc.jdbcUniversalDriver");
   Connection con=DriverManager.getConnect("jdbc:pointbase;//server:port/MyDatabase");
   Statement stmt=con.createStatement();
   String sql="select * from mytable";
   ResultSet res=stmt.executeQuery(sql);
   while(res.next()){
        String col1=res.getString("MYCOLUMN1");
        int col2=res.getInt("MYCOLUMN2");    
   }catch(Exception e){...}
}

四、使用多层(Type3)Drivers

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


五、连接池Connection

连接池:

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

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

    提供可共享,安全的连接


六、数据源Data Sources

Data Sources是:

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

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


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

(1) 使用DataSource:

    先在JNDI中查找到它

    然后从DataSource获得一个连接

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

import java.sql.*;import javax.sql.*;import javax.naming.*;...
try{

	context ctx=new InitialContext();
	DataSource ds=(DataSource)ctx.lookup("TestDataSource");
	Connection con=ds.getConnection();
	Statement stmt=con.createStatement();
	String sql="SELECT * FROM MYTABLE";
	ResultSet res=stmt.executeQuery(sql);
	While(res.next()){
	  String col1=res.getString("MYCOLUM1");
	  ...
}
	con.close();
}catch(Exception e){...}

八、Statements和Prepared Statements

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

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

Statement stmt=con.createStatement();
String sql="SELECT * FROM MYTABLE";
ResultSet res=stmt.excuteQuery(sql);

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

String sql="SELECT * FROM MYTABLE WHERE COL1=? AND COL2=?";
PreparedStatement pStatement=con.prepareStatement(sql);
pStatement.setString(1,searchVariableString);
pStatement.setInt(2,searchVariableInt);
ResultSet rs=pStatement.executeQuery();

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

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值