Chinaunix首页 | 论坛 | 博客
  • 博客访问: 704288
  • 博文数量: 147
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 10:36
文章分类

全部博文(147)

文章存档

2011年(1)

2010年(1)

2009年(35)

2008年(110)

我的朋友

分类: Java

2009-03-01 15:49:53

jdbc是和数据库连接的接口:
那么jdbc driver实现了jdbc的接口,不同的数据库厂商提供了不同的jdbc driver
JDBC和Jdbc driver
jdbc Drivers是实现数据库操作的类
Drivers分成两类:
  .2层-客户直接和数据库会话
  .3层-客户与代表数据库的中间层会话(weblogic server)
直接访问数据库:
 try{
Class.forName("......");
Connection conn=DriverManager.getConnection("......");
Statement stmt=conn.createStatement();
......
}
使用多层体系结构,必须配置一个连接池(Connection Pool)和一个数据源(DataSource)
  客户端通过jndi查找或RMI驱动程序----数据源(getConnection())----连接池
比如:
首先在weblogic上配置连接池
//数据源是从连接池种提供连接的被管理的工厂对象,绑定到jndi并使用管理控制台配置
在weblogic上创建和配置数据源(要指定jndi名字)
通过数据源访问数据库:
  .先在jndi种查找到他
  .然后从datasource获得一个连接
try{
//获得InitailContext
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("TestDataSource");
Connection con=ds.getConnection();
Statement stmt=con.createStatement();
.....
}catch(){....}
statements和Prepared Statements
Statement stmt=con.createStatement();
String sql="select * from mytable";
Result res=stmt.executeQuery(sql);
使用Prepared statement
String sql="select * from mytable where col1=? and col2=?";
PreparedStatement pStatement=con.preparementStatement(sql);
pStatement.setString(1,stringvar);
pStatement.setInt(2,intvar);
Result rs=pStatement.executeQuery();
阅读(876) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~