- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章数据库应用选编
; JDBC简介;; JDBC是Java操作数据库的规范,由一组用Java语言编写的类和接口组成,它对数据库的操作提供基本方法,但对于数据库的细节操作由数据库厂商进行实现,使用JDBC操作数据库,需要数据库厂商提供数据库的驱动程序,关于Java程序与数据库相交互的示意图如下图所示。; JDBC驱动程序是用于解决应用程序与数据库通信问题的,它基本上分为JDBC-ODBC Bridge、JDBC-Native API Bridge、JDBC-middleware和Pure JDBC Driver4种类型。
1.JDBC-ODBC Bridge
2.JDBC-Native API Bridge
3.JDBC-middleware
4.Pure JDBC Driver; JDBC是Java程序操作数据库的标准,它由一组用Java语言编写的类和接口组成,Java通过JDBC可以对多种关系数据库进行统一访问,所以,学习JDBC需要掌握JDBC中的类和接口,也就是JDBC API。; 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类,在加载Driver类时,应该创建自己的实例并向java.sql.DriverManager类注册该实例。;;PreparedStatement prepareStatement(String sql)
throws SQLException;;;; java.sql.CallableStatement接口继承于PreparedStatement接口,是PreparedStatement接口的扩展,用来执行SQL的存储过程。;;在对数据库进行操作时,首先需要连接数据库,在JSP中连接数据库大致可以分为加载JDBC驱动程序、创建Connection对象的实例、执行SQL语句、获得查询结果和关闭连接等5个步骤,下面分别进行介绍。;在连接数据库之前,首先要加载要连接数据库的驱动到JVM(Java虚拟机),通过java.lang.Class类的静态方法forName(String className)实现,例如,加载MySQL驱动程序的代码如下:
try {
Class.forName(com.mysql.jdbc.Driver);
} catch (ClassNotFoundException e) {
System.out.println(加载数据库驱动时抛出异常如下:);
e.printStackTrace();
}; 通过DriverManager类的静态方法getConnection(String url, String user, String password)可以建立数据库连接,三个入口参数依次为要连接数据库的路径、用户名和密码,该方法的返回值类型为java.sql.Connection,典型代码如下:
Connection conn = DriverManager.getConnection(
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_database09, root, root);
;try {
Class.forName(com.mysql.jdbc.Driver);// 加载数据库驱动,注册到驱动管理器
String url = jdbc:mysql://localhost:3306/db_database09;// 数据库连接字符串
String username = root;// 数据库用户名
String password = “******;// 数据库密码
// 创建Connection连接
Connection conn = DriverManager.getConnection(url,username,password);
if(conn != null){ // 判断数据库连接是否为空
out.println(数据库连接成功!);// 输出连接信息
conn.close();// 关闭数据库连接
}else{
out.println(数据库连接失败!);// 输出连接信息
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
};通过Connection实例并不能执行SQL语句,还需要通过Connection实例创建Statement实例, Statement实例又分为以
文档评论(0)