使用JDBC操作数据库
1.为什么需要JDBC
JDBC (Java DataBase Connectivity 即 java 数据库连接) 是一种用于执行 SQL 语句的 Java API, 可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。是 Java 访问数据库的标准规范。JDBC 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC 需要连接驱动,驱动是两个设备要进行通信,足足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。JDBC 是 Java 数据库连接技术的简称,提供连接各种常用数据库的能力。
2.JDBC的原理
未来我们只需要通过Java给我们提供的JDBC API就可以操作不同的关系型数据库,而且你无需关注这些不同数据库的底层差异性,因为面向接口编程的思想就是关注接口的规范而非具体的实现。
3.JDBC的常用API
-
DriverManager(驱动管理)类: 用来进行驱动注册和驱动管理的,通过此类就可以实现MySQL驱动(MySQL厂商为JDBC提供的实现类)的正常接入。
- void registerDriver(java.sql.Driver driver); 注册驱动
- Connection getConnection(String url , String user , String password); 建立(获取)连接
- When a Driver class is loaded, it should create an instance of itself and register it with the DriverManager. This means that a user can load and register a driver by doing
Class.forName("foo.bah.Driver")
。
// Register ourselves with the DriverManager static { try { java.sql.DriverManager.registerDriver(new Driver()); } catch (SQLException E) { throw new RuntimeException("Can't register driver!"); } }
-
Connection(连接)接口: 用于管理数据库服务器的连接(连接开启、连接关闭、事务管理)的API。
- Statement createStatement(); 获取语句执行者
- void close();
-
Statement(语句)接口: 用于执行SQL语句的。
- ResultSet executeQuery(String sql); 执行查询SQL语句 将查询的内容封装到结果集
- int executeUpdate(String sql); 执行增删改 返回影响行数
- void close();
-
ResultSet(结果集)接口: 用于在执行完SQL语句之后 将结果进行存储的一个API。
- boolean next(); 判断是否还有数据 如果有数据则向下切换指针
- xxx getXXX(String columnName); 根据列名取出各种类型的列值
- String getString(String columnName); 根据列名取出列值
- xxx getXXX(int columnIndex); 根据列索引取出各种类型的列值 索引从1开始
- void close();
注:笔记思路来自查老师!!