Java Web-JDBC
来源:互联网 发布:centos打开端口命令 编辑:程序博客网 时间:2024/05/16 02:18
使用JDBC
一、装载驱动程序
使用JDBC的第一步是指定数据库所需要的特定的JDBC驱动程序。主要有二种方式可以完成此操作。
第一种方式是显式地装载JDBC驱动程序,只需要一行代码,例如:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
另一种方式是直接调用DriverManager类的registerDriver()方法。例如:
DriverManager. registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
上述代码会将JDBC-ODBC桥驱动程序装载到Java运行环境。具体是:系统调用DriverManager类的registerDriver()方法,该方法生成和管理JDBC驱动程序的实例。若选用的JDBC驱动程序不存在或存放位置不在CLASSPATH内,上述代码会抛出ClassNotFoundException异常,因此通常要把此句封闭在try/catch块中。
二、建立数据库连接
一旦装载了数据库驱动程序,第二步是建立到数据库的连接。这是通过DriverManager类的getConnection()方法来完成的。例如:
Connection conn=DriverManager.getConnection( "jdbc:odbc:myodbc", "username","password")
在三个参数中,最重要的是用来指定数据源的URL。
JDBC数据源URL
JDBC数据源使用的URL语法的形式为:
jdbc:<sunprotocol>:<subname>
其中jdbc表示使用的协议是jdbc, sunprotocol字段表示使用的JDBC驱动程序名, subname是根据子协议而确定的参数字符串。
常见的JDBC数据源URL
jdbc:oracle:thin:@host:1521:mydb 描述了一个Oracle数据库的连接URL。该URL使用的子协议是oracle,Oracle的JDBC驱动程序有两种,oci和thin,后面是数据库主机名称、服务器侦听接口和数据库安全标识符SID;
jdbc:borland:dslocal:D:\testDB\employee.jds 描述了一个Borland公司的数据库产品JDataStore的数据源。子协议是borland,数据源是一个本地数据库,存放在D:\testDB\employee.jds ;
jdbc:mysql://www.mycompany.con/db/MyDB 描述了一个MySQL数据源。子协议是mysql,数据库定位在//www.mycompany.con/db/MyDB ;
jdbc:odbc:myOdbcData ODBC数据源,子协议odbc,ODBC数据源名为myOdbcData ;
三、建立Statement对象
Statement
如果已经装载了数据库驱动程序并创建了数据库连接conn,现在可以向数据库服务器发送SQL语句。这是通过创建Statement对象来完成的。可使用Connection对象的createStatement()方法创建该对象,
例如: Statement stmt=conn.createStatement();
PreparedStatement
如果需要向数据库服务器传递带参数的SQL,则应使用PreparedStatement对象,该对象是由Connection对象的repareStatement()方法生成的,
例如:String sql= "select * from employee where salary>?"; PreparedStatement stmt= conn.prepareStatement(sql);
CallableStatement
如果需要调用数据库的存储过程,则需要创建CallableStatement对象来达到这一目的: String callProc="{call myproc}"; CallableStatement cstmt=conn.prepareCall(callProc);
四、发送SQL语句
一旦创建了Statement对象,下一步是把SQL发送到数据库。Statement对象有两个主要的方法用于此目的。使用哪个方法取决于是否需要返回结果。
executeQuery()
对于需要返回结果集的SELECT语句,应当使用executeQuery()方法,该方法只有一个字符串参数,用来存放SELECT语句,查询成功则以ResultSet对象的形式返回查询结果。例如: String sql="select * from students"; ResultSet rs=stmt.executeQuery(sql);
executeUpdate()方法
如果调用INSERT、UPDATE、DELETE不需返回查询结果的SQL语句,应采用executeUpdate()方法。 executeUpdate()方法也只接受String类型的SQL语句作参数,返回类型为int。如果返回值为0则表示SQL语句不返回任何数据,否则返回数据库中受到INSERT、UPDATE、DELETE语句影响的数据行数。例如: String sql="DELETE FROM STUDENT WHERE SCORE <=60"; int ret=stmt.executeUpdate(sql);
五、关闭数据连接
尽管不是必须的,但及时关闭到数据库的连接是一个很好的习惯。这样就确保及时释放用于连接数据库的相应的资源。及时将宝贵的数据库连接归还给DBMS,可提高数据库并发处理能力。
JDBC的Statement和Connection对象都有一个close()方法用于此目的。
例如: stmt.close(); conn.close()
- Java Web-JDBC
- Java web----JDBC
- Java web系列----JDBC
- Java Web入门之JDBC
- JAVA web基础-JDBC操作
- java web总结(jdbc连接数据库)
- Java Web 案例1 -- IO,JDBC
- Java Web基础整理-JDBC编程
- Java Web学习之JDBC连接
- java web笔记——JDBC
- java web 使用jdbc 过程错误记录
- Java Web 4.2 JDBC访问数据库
- 使用Servlet+JDBC 开发java web应用
- WEB-JDBC
- [java web]java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- Oracle数据库10g Java、JDBC和web服务
- 基于servlet+jdbc编写的java版多人聊天室WEB版
- java web学习(进阶篇)七 Spring JDBC
- 鸡仔好便宜啊
- n的阶成
- 2.8 编写一个函数rightrot(x, n),该函数返回将x循环右移(即从最右端移出的位将从最左端再移入)n(二进制)位后所得到的值。
- B-Tree索引与Bitmap索引的锁代价的比较
- 第十周-贪财的富翁
- Java Web-JDBC
- 有关T-SQL的10个好习惯
- SolutionConverter
- 网站建设中兼容问题css样式
- 如何获得ios 中的硬件信息(上)
- 我的第二十四个C++上机报告(穷举法解决组合问题之百钱百鸡问题)
- 几种常用的视频接口
- 最小公倍数与最大公约数
- 输入一个正整数,判断其是否为素数