黑马程序员技术交流社区
标题:
【石家庄校区】Day 10-JDBC笔记分享
[打印本页]
作者:
账号随机生成
时间:
2018-5-21 11:30
标题:
【石家庄校区】Day 10-JDBC笔记分享
本帖最后由 账号随机生成 于 2018-5-21 11:36 编辑
JDBC
JDBC概述
什么是JDBC?
什么是数据库驱动
驱动:两个设备(应用)之间通信的桥梁.
JDBC的入门
JDBC环境准备
创建数据库和表
创建项目引入jar包
在explpse中创建项目
在项目中创建一个名为lib的文件夹
将jar包复制到lib的文件夹中
右键Build Path,然后奶一下
JDBC的开发步骤
JDBC的API详解之DriverManager
DriverManager:驱动管理类
作用一: 注册驱动 * static void registerDriver(Driver driver) 向 DriverManager 注册给定驱动程序。 ( 这个方法可以完成驱动的注册,但是实际开发中一般不会使用这个方法完成驱动的注册!!! ) 原因:如果需要注册驱动,就会使用DriverManager.registerDriver(new Driver()); ,但是查看源代码发现在代码中有一段静态代码块,静态代码块已经调用了注册驱动的方法.如果在手动调用该方法注册驱动,就会导致驱动被注册两次. * Class.forName("com.mysql.jdbc.Driver");在实际开发中一般会采用
作用二: 获得连接
static Connection getConnection(String url, String user, String password) 试图建立到给定数据库 URL 的连接. 这个方法就是用来获得与数据库连接的方法;这个方法中有三个参数:
url :与数据库连接的路径
user :与数据库连接的用户名
password :与数据库连接的密码
主要关注的是
url
的写法
:
jdbc:
mysql:
//localhost:3306/web_test3
jdbc :连接数据库的协议.
mysql :是jdbc的子协议.
localhost :连接的 MySQL 数据库服务器的主机地址.(连接是本机就可以写成localhost),如果连接不是本机的,就需要协商连接主机的IP地址.
3306 ;MySQL 数据库服务器的端口号.
web_test3 :数据库的名称.
url如果连接的是本机的路径,可以简化为如下格式:
jdbc:mysql:
///web_test3
JDBC的API详解之Connection
Connection: 与数据库连接对象
作用一:创建执行SQL语句的对象
Statement createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。
CallableStatement prepareCall(String sql) 创建一个 CallableStatement 对象来调用数据库存储过程。
PreparedStatement prepareStatement(String sql) 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
执行SQL语句对象:
[td]
执行SQL语句对象
-----------
Statement
执行SQL
allableStatement
执行数据库中存储过程.
PreparedStatement
执行SQL对SQL进行预处理,解决SQL注入的漏洞.
作用二:管理事务
void setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态。
void commit() 使所有上一次提交/回滚后进行的更改成为持久更改,并释放此 Connection 对象当前持有的所有数据库锁。
void rollback() 取消在当前事务中进行的所有更改,并释放此 Connection 对象当前持有的所有数据库锁。
JDBC的API详解之Statement
Statement:执行SQL
作用一: 执行SQL
执行SQL的方法:
boolean execte(String sql); 执行查询,修改,添加删除的SQL语句.
ResultSet executeQuery(String sql); 执行查询(执行select语句).
int executeUpate(String sql); 执行修改,添加,删除的SQL语句.
作用二: 执行批处理
void addBatch(String sql) 添加到批处理
void clearBatch() 清空批处理
int[] executeBatch() 执行批处理,一次可以执行很多条
JDBC的API详解之ResultSet
ResultSet:结果集
通过
select
语句的查询结果.
结果集的遍历
boolean next() 将光标从当前位置向前移一行。
结果集的获取
结果集获取可以使用结果集中的:
getXXX;方法通常都会有一个重载的方法.
getXXX(int columnlndex);
getXXX(String columnName);
JDBC的资源释放
JDBC 程序执行结束后,将与数据库进行交互的对象释放掉,通常是ResultSet,Statement,Connection. 这几个对象中尤其是Connection 对象是非常稀有的.这个对象一定要做到尽量晚创建,尽早释放掉.
将资源释放的代码写到finally的代码块中.
资源释放的代码要写的标准;
JDBC的CRUD操作之PreparedStatement 的保存操作
1.png
(74.96 KB, 下载次数: 4)
下载附件
2018-5-21 11:34 上传
2.png
(31.4 KB, 下载次数: 4)
下载附件
2018-5-21 11:36 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2