- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用JDBC连接数据库
本章目标
掌握JDBC的实现原理
熟练掌握使用JDBC连接数据库
熟练掌握JDBC中各个对象的使用
JDBC数据库连接
JDBC
JDBC(Java Data Base Connectivity)JAVA连接数据库技术的简称,是JAVA连接各种数据库的能力
应用程序
ORACLE
SQLSERVER
MYSQL
JDBC
JDBC数据库连接
JDBC的工作原理
应用程序
JDBC API
ORACLE驱动
SQLSERVER驱动
ORACLE数据库
SQLSERVER数据库
驱动管理器
SUN提供JDBC APC
集成在java.sql和javax.sql包中
JDBC APC主要包括:
DriverManager类
Connection接口
Statement接口
ResultSet接口
JDBC驱动是不同数据库厂商
对各自数据库进行JDBC实现包
JDBC数据库连接
JDBC的功能主要是实现如下处理
将应用程序和数据库进行连接
执行SQL语句
将执行语句得到的结果返回应用程序
DriverManager负责管理加载的驱动
Connection负责对数据库的链接
Statement由Connection产生,负责执行SQL语句
ResultSet保存Statement执行得到的结果
JDBC数据库连接
JDBC进行数据库连接的方式主要有ODBC连接和纯JAVA驱动连接
ODBC连接时需要配置当前系统的数据源
JDBC不依赖当前系统环境,直接由驱动获取连接
JDBC数据库连接
JDBC进行数据库操作访问的步骤主要如下:
加载驱动包
通过驱动管理获取应用程序和数据库的连接
通过连接获取处理器对象
使用处理器执行SQL语句
将执行得到的结果返回应用程序
关闭使用到的各个对象
JDBC数据库连接
ODBC连接
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection=DriverManager.getConnection(“jdbc : odbc : 数据源名称”)
JDBC数据库连接
纯JAVA JDBC连接
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection con=DirverManager.getConnection(“jdbc:oracle:thin:@IP:端口:实例名” , ”用户名” , ”密码”)
JDBC数据库连接
使用处理器执行SQL语句
Statement stmt=con. createStatement();
int count=stmt.executeUpdate(SQL语句);
//ResultSet rs=stmt.executeQuery(SQL语句);
JDBC数据库连接
使用结果集获取查询结果
while(rs.next())
{
//根据每列的类型调用不同的方法
//如int型
rs.getInt(列所在索引);
//如Strig类型
rs.getString(列所在索引);
}
JDBC数据库连接
关闭对象
结果集.close();
处理器.close();
连接.close();
JDBC数据库连接
使用预处理执行SQL语句
PreparedStatement pstmt=con. prepareStatement(SQL语句)
pstmt.executeQuery();
pstmt.executeUpdate();
JDBC数据库连接
预处理器使用
pstmt=con. prepareStatement(insert into users values(?,?,?));
//设置参数
pstmt.setInt(1,1);
pstmt.setString(2,”tom”);
pstmt.setInt(3,27);
pstmt.executeUpdate();
JDBC数据库连接
PreparedStatement和Statement的区别
预处理可以将要执行的SQL先进行编译,下次使用时可以直接执行已经编译过的代码,普通的处理器每次执行时都需要重新编译
预处理使用参数注入的方式增强SQL操作的安全性,防止外部的恶意参数注入
JDBC数据库连接
使用CallableStatement执行存储过程
CallableStatement cstmp=con. prepareCall(“ {call 过程名}”);
//也可以使用?进行占位,实现参数注入
cstmp.setInt(索引,参数);
//执行
cstmp.execute();
JDBC数据库连接
带输出参数的存储过程执行
CallableStatement
原创力文档


文档评论(0)