day45-JDBC和连接池01

JDBC和连接池011.JDBC概述

  • 基本介绍
  1. JDBC为访问不同的数据库提供了同一的接口 , 为使用者屏蔽了细节问题
  2. Java程序员使用JDBC , 可以连接任何提供了jdbc驱动程序的数据库系统 , 从而完成对数据库的各种操作
  • jdbc原理图
    JDBC是java提供的一套用于数据库操作的接口API , Java程序员只需要面向这套接口编程即可 。不同的数据库厂商需要针对这套接口 , 提供不同的实现 。

day45-JDBC和连接池01

文章插图
jdbc模拟实现
模拟JDBC驱动:
package jdbc.myjdbc;/** * 我们规定的jdbc接口(方法)规范 */public interface JdbcInterface {//连接public Object getConnection();//crudpublic void crud();//关闭连接public void close();}模拟Mysql驱动:
package jdbc.myjdbc;/** * 模拟 mysql数据库实现jdbc接口[由mysql厂商开发] */public class MysqlJdbcImpl implements JdbcInterface{@Overridepublic Object getConnection() {System.out.println("得到 mysql 的连接");return null;}@Overridepublic void crud() {System.out.println("完成 mysql 的增删改查");}@Overridepublic void close() {System.out.println("关闭 mysql 的连接");}}模拟Oracle驱动:
package jdbc.myjdbc;/** * 模拟实现oracle的连接驱动-即实现规范接口 */public class OracleJdbcImpl implements JdbcInterface{@Overridepublic Object getConnection() {System.out.println("得到 oracle 的连接");return null;}@Overridepublic void crud() {System.out.println("完成 oracle 的增删改查");}@Overridepublic void close() {System.out.println("关闭 oracle 的连接");}}模拟java程序使用各种数据库驱动连接数据库:
package jdbc.myjdbc;public class TestJdbc {public static void main(String[] args) {//完成mysql的操作JdbcInterface jdbcInterface = new MysqlJdbcImpl();jdbcInterface.getConnection();// 通过接口来调用实现类[动态绑定]jdbcInterface.crud();jdbcInterface.close();System.out.println("==============");//完成oracle的操作jdbcInterface = new OracleJdbcImpl();jdbcInterface.getConnection();// 通过接口来调用实现类[动态绑定]jdbcInterface.crud();jdbcInterface.close();}}
day45-JDBC和连接池01

文章插图
  • JDBC API
jdbc api是一系列的接口 , 它统一和规范了应用程序与数据库的连接、执行SQL语句 , 并得到返回结果等各类操作 , 相关类和接口在java.sql与javax.sql包中 。
day45-JDBC和连接池01

文章插图

day45-JDBC和连接池01

文章插图

day45-JDBC和连接池01

文章插图
2.JDBC快速入门2.1JDBC程序编写步骤
  1. 注册驱动 -- 加载Driver类
  2. 获取连接 -- 得到Connection
  3. 执行增删改查 -- 发送SQL命令给mysql执行
  4. 释放资源 -- 关闭相关连接

day45-JDBC和连接池01

文章插图
例子--通过jdbc对表actor进行添加 , 删除和修改操作
  1. 首先在SQL yog使用mysql数据库创建一个演员actor表
-- 创建测试表 演员表CREATE TABLE actor( id INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(32) NOT NULL DEFAULT '', sex CHAR(1) NOT NULL DEFAULT '女', borndate DATETIME, phone VARCHAR(12));SELECT * FROM actor;
  1. 下载mysql连接驱动

day45-JDBC和连接池01

文章插图
  1. 在项目中创建libs文件夹 , 将驱动复制进文件夹中 , 右键点击驱动 , 选择ad as library

    经验总结扩展阅读