一。JDBC概述
1)JDBC:从物理结构说是Java语言访问数据库的一套接口集合;
从本质上说是调用者和实现着之间的协议
2)JDBC特性:高度一致性、简单性
3)包括Java.sql包和Javas.sql包
(1) java.sql 基本功能。主要针对基本的数据库编程服务。
(2) javax.sql 扩展功能。主要为数据库方面的高级操作提供了接口和类。
二、JDBC中常用的接口和类
(1) java.sql.Connection 与特定数据库的连接(会话)。
(2) java.sql.Driver 每个驱动程序类必需实现的接口,同时,每个数据库驱 动程序都应该提供一个实现Driver接口的类。
(3) java.sql.DriverManager 管理一组JDBC驱动程序的基本服务。
(4)*.Statement 执行静态SQL语句并返回其生成结果的对象。
**Statement接口代表了一个数据库的状态,在向数据库发送相应SQL语
句时,都需要创建Statement接口或者PreparedStatement接口。在具体
应用中,Statement主要用于操作不带参数(可以直接运行)的SQL语句,
比如删除语句、添加或更新。
statement:发送完整的Sql语句到数据库不是直接执行而是由数据库先编译,再运行。
PreparedStatement:先发送带参数的Sql语句,再发送一组参数值。
执行同构的sql语句,PreparedStatement的效率高,对于异构的sql则两者效率差不多。
同构:两个Sql语句可编译部分是相同的,只有参数值不同。
异构:整个sql语句的格式是不同的。
**
(5)*.PreparedStatement 继承Statement接口,表示预编译的SQL语句的对象
(6).CallableStatement 用来访问数据库中的存储过程。
(7).ResultSet 指查询返回的数据库结果集,是进行jdbc操作的必须接口
(8).ResultSetMetaData 用于获取关于ResultSet对象中列的类型和属性信息的对象
JDBC 通过元数据(MetaData)来获得具体的表的相关信息。
MetaData包括:
(1) 数据库元数据 Database MetaData 使用connection.getMetaData()
获得包含了关于数据库整体元数据信息。
(2) 结果集元数据Result Set MetaData 使用resultSet.getMetaData()获
得比较重要的是获得表的列名、列数等信息。
结果集元数据对象:ResultSetMetaData meta = rs.getMetaData();
(1) 字段个数:meta.getColomnCount();
(2) 字段名字:meta.getColumnName();
(3) 字段JDBC类型:meta.getColumnType();
(4) 字段数据库类型:meta.getColumnTypeName();
数据库元数据对象:DatabaseMetaData dbmd = con.getMetaData();
(1) 数据库名=dbmd.getDatabaseProductName();
(2) 数据库版本号=dbmd.getDatabaseProductVersion();
(3) 数据库驱动名=dbmd.getDriverName();
(4) 数据库驱动版本号=dbmd.getDriverVersion();
(5) 数据库Url=dbmd.getURL();
(6) 该连接的登陆名=dbmd.getUserName();