|
论坛精英
 
|
2楼
大 中
小 发表于 2008-6-19 13:43 只看该作者
嵌入式JDBC
9 C9 W, c1 u) @6 `/ A电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
2 t) }# M3 K4 O3 O$ vwww.520diannao.com
$ B7 f# z$ d" F: J, r4 @我爱电脑技术论坛JDBC API不会直接地与数据库进行交流。其中的驱动程序完成的实际的连接,你可以在卖方的Web站点上下载这些驱动程序。除此之外,还有四种JDBC的驱动程序类型,如果你决定使用JDBC,你需要正确地选择最为适合你需要的那种类型。你将使用一个DriverManager类来处理基于驱动程序的连接。
7 }" b6 H: e0 fwww.520diannao.com电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站7 t4 p: G+ n0 S' L
www.520diannao.com$ D6 U! Z+ O) c+ ]1 i5 {
你可以使用一个名为getConnection的DriverManager方法来建立你的数据库连接。你还可以使用它的URL参数来识别数据库:
9 A4 V" p7 e* J& x) U6 k
/ h" e6 M* w% }8 r7 E! N电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站1 ]6 o# ?9 o! w8 e( f
public static Connection getConnection(jdbc:odbc:nameOfDatabase) 我爱电脑技术论坛 |# @$ C. f/ j& ?! e& y( P0 l# r+ F
www.520diannao.com- E6 r; F5 I* \! t
我爱电脑技术社区--打造最好的电脑技术自学交流平台 ^3 f: Q) m: j" B- U" Q
现在,告诉DriverManager有关驱动程序的信息(应该在你的classpath中):
7 V* }/ `3 E) Q& q* A电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
# K3 z/ g' y. y4 s我爱电脑技术论坛
9 W* _& X2 k# D3 f打造最好的电脑自学交流论坛Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);
. @. f; [& A7 ^( T! |4 q# q9 w9 v
# x; q" S1 r L' F. l. g打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛9 q- `7 P8 \5 J' K$ O2 g
你已经将数据库连接到JSP程序,但你仍然不能够执行一个数据库命令。解决这一点,你可以在JSP代码中生成声明以建立数据库命令,如下所示: 打造最好的电脑自学交流论坛1 E, g$ m! ?, K0 h1 z
, e7 ]0 l) O) Q, W% |5 B! ^: H+ e电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站我爱电脑技术论坛( B) s5 l, \! P3 Q; e5 V: [
public Statement createStatement(intresultSetType, intresultSetConcurrency)
# L5 u! D- X0 _ X/ A; S! n我爱电脑技术论坛$ G: s0 b- |$ ~1 _
% |, v3 T( y3 d& P1 @, I$ bwww.520diannao.com其中的参数能够让你控制从数据库查询得到的结果。当使用第一个参数时,可以在程序中看到结果;当使用第二个参数时,你可以通过查询来更新数值(这是一个难以相信的功能,在以后的文章中值得进一步讨论)。
+ v* w# Z$ Y8 L0 {: q2 G3 U& Bwww.520diannao.com打造最好的电脑自学交流论坛0 t' L$ d8 V$ j7 I# ]
我爱电脑技术论坛3 x+ J4 x8 G! Z3 n
表A 4 _% k9 L( v9 ~6 j: M" `0 N
我爱电脑技术社区--打造最好的电脑技术自学交流平台9 W' z- U+ E/ m( F
我爱电脑技术论坛/ l# z+ v* p& o" D7 G5 G+ p
http://builder.com.com/5100-6387-5172666.html?tag=sc#Listing v6 e; g+ h3 d% T. T
8 b( I$ A; r# a( |) B0 p我爱电脑技术社区--打造最好的电脑技术自学交流平台www.520diannao.com" Z q5 w% h3 P% U" A( a; j# K
AListing A显示列举了下两种方法的复杂性。
9 L, u3 M7 a9 |& J我爱电脑技术社区--打造最好的电脑技术自学交流平台电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站( B% o% F$ v( s- K8 z5 ]& E* c' p
打造最好的电脑自学交流论坛: T7 s% K( D: o3 P5 F/ p
声明(Statement)就是SQL命令。PreparedStatement就是SQL的声明,你可以通过其中的参数来控制程序的过程。CallableStatement是用于访问SQL存储程序。你是否开始意识到,如果你没有看到这些说明,你是否觉得这些声明很复杂?请注意到,通过调用rollback方法,你可以撤除交易过程。 我爱电脑技术论坛4 ]) N0 J, v1 j+ q4 z
& j, x t) R2 `7 k6 e8 I1 L# L我爱电脑技术社区--打造最好的电脑技术自学交流平台
, m: k6 z% ~6 e1 N" V5 F. [我爱电脑技术论坛如果你想完全使用这些数据库访问的方法,你唯一遗漏的还有:
# l$ M2 |- W$ ^5 Z! d2 L0 ^我爱电脑技术社区--打造最好的电脑技术自学交流平台
( j/ {3 ^6 ^$ I3 K: s# f我爱电脑技术社区--打造最好的电脑技术自学交流平台电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站' k/ `/ k7 |! t9 e1 ?
ResultSetexecuteQuery(string sqlQuery) 3 Y: r% O i" Y# ~/ h
9 m0 T3 x, w5 |# Q `2 Bwww.520diannao.com电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站" S0 j+ W* h% a ~' ]
(你可以使用executeQuery来完成以上过程。你也可以使用一个executeUpdate来完成更新、插入和删除)。你以上的声明接口使你可以使用一些方法来执行SQL声明。ResultSet所做的就是访问从查询得到的数据,所以你可以在JSP程序中使用这些数据。
3 z1 y0 B4 z9 D5 Q$ b& N. o2 c电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站我爱电脑技术论坛) l$ D* B, t: c6 D; c7 w6 y
我爱电脑技术论坛# p7 @9 _, |6 t) ~0 a& h
通过将JSP程序分解成单一的、功能明显的页面,以及在任何给定页面中执行一个单一的数据库操作,可以很大程度地简化你的数据库操作,以及建立可以用于以后程序开发的页面,即使你将SQL嵌入到这些页面的JDBC中。
) {# t( `& k* O3 g打造最好的电脑自学交流论坛
& ], u( H0 t2 t! l我爱电脑技术社区--打造最好的电脑技术自学交流平台www.520diannao.com" x- o; T7 \, y! l7 B1 `
但是你还可以做更多的事情,以使得你的JSP数据库访问更加整洁和容易维护。在JSP代码中嵌入JDBC,以及通过发送SQL命令与数据库通讯,这些过程都很好。但是,它要求在不能增加代码复杂程度下,建立通过接口的SQL命令的程序。当你的SQL处理需要提高灵活性的时候,你可以进一步地分离你的数据库接口代码,以清洁你的JSP程序。
|