A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 账号随机生成 于 2018-5-21 11:36 编辑

JDBCJDBC概述
  • 什么是JDBC?
  • 什么是数据库驱动

    • 驱动:两个设备(应用)之间通信的桥梁.

JDBC的入门JDBC环境准备创建数据库和表创建项目引入jar包
  • 在explpse中创建项目
  • 在项目中创建一个名为lib的文件夹
  • 将jar包复制到lib的文件夹中
  • 右键Build Path,然后奶一下
JDBC的开发步骤

JDBC的API详解之DriverManagerDriverManager:驱动管理类
  • 作用一: 注册驱动 * 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_test3JDBC的API详解之ConnectionConnection: 与数据库连接对象
  • 作用一:创建执行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详解之StatementStatement:执行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详解之ResultSetResultSet:结果集通过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, 下载次数: 3)

1.png

2.png (31.4 KB, 下载次数: 4)

2.png

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马