- JDBC:Driver、DriverManager、Connection、Statement、ResultSet、PreparedStatement、DatabaseMetaData、ResultSetMetaData。
- 访问数据库实例:查询数据、插入数据、删除数据、更新数据、
带参数的SQL语句、获取元数据。 - JDBC简介
- Driver
- DriverManager
- Connection
- Statement
- ResultSet
- PreparedStatement
- DatabaseMetaData
- ResultSetMetaData
- JDBC是Java Database Connectivity的缩写,在整个Java技术体系中,JDBC的地位相当于Windows的ODBC/ADO、.NET的ADO.NET,职责是为Java应用程序访问数据库提供一种通用的手段。
- JDBC屏蔽了各种数据库管理系统在技术细节方面的差异,为程序的可移植性提供了良好的保证。
- JDBC包含两个包:java.sql和javax.sql,它们提供了Java程序操作数据库的接口和类。
- Driver是一个接口,数据库驱动程序需要实现Driver接口。
- 程序在连接数据库前,必须先加载特定厂商提供的数据库驱动程序,例如Class.forName("com.mysql.jdbc.Driver")。
- 常用的数据库驱动程序有:
- JDBC-ODBC桥 —— sun.jdbc.odbc.JdbcOdbcDriver
- SQL Server 2000 —— com.microsoft.jdbc.sqlserver.SQLServerDriver
- Oracle —— oracle.jdbc.driver.OracleDriver
- MySql —— com.mysql.jdbc.Driver
- DriverManager类用来建立和数据库的连接,以及管理JDBC驱动程序。
- DriverManager的常用方法有:
- static Connection getConnection(String url, String user, String password) —— 给出用户名和密码,建立数据库连接。
- static Connection getConnection(String url) —— 建立数据库连接,可以在url中给出用户名和密码。
- 各种数据库的连接url是不同的:
- JDBC-ODBC桥 —— jdbc:odbc:[odbcsource]
- SQL Server 2000 —— jdbc:microsoft:sqlserver://127.0.0.1:1433
- Oracle —— jdbc:oracle:thin:@127.0.0.1:1521:[sid]
- MySql —— jdbc:mysql://127.0.0.1:3306/[dbname]?useUnicode=true&characterEncoding=gbk
- Connection接口代表与数据库的连接,应用程序可以通过Connection创建语句对象,提交事务,回滚事务,获取数据库元数据。
- Connection的常用方法有:
- Statement createStatement() —— 创建一个语句对象,语句对象用于执行SQL语句。
- PreparedStatement prepareStatement(String sql) —— 使用带参数的SQL语句创建预处理语句对象。
- CallableStatement prepareCall(String sql) —— 创建一个用于调用存储过程的CallableStatement对象。
- void setAutoCommit(boolean autoCommit) —— 设置自动提交事务。
- void commit() —— 提交事务。
- void rollback() —— 回滚事务。
- DatabaseMetaData getMetaData() —— 获取数据库元数据。
- void close() —— 关闭数据库连接
- Statement提供在底层连接上执行不带参数的SQL语句,并且访问结果。
- Statement常用的方法有:
- ResultSet executeQuery(String sql) —— 执行查询语句返回结果集。
- int executeUpdate(String sql) —— 执行SQL语句,INSERT、UPDATE、DELETE,数据定义语句DDL。
- boolean execute(String sql) —— 执行SQL语句。
- void addBatch(String sql) —— 增加批处理语句。
- int[] executeBatch() —— 执行批处理语句。
- void clearBatch() —— 清楚批处理语句。
- void close() —— 关闭语句对象。
- ResultSet
- 在Statement执行SQL语句时,有时会返回结果集ResultSet。
- ResultSet抽象了执行SELECT语句的结果,提供了逐行访问结果的方法,通过它可以访问结果集的不同字段。
- ResultSet的常用方法有:
- boolean next() —— 把当前的指针向下移动一位。
- String getString(int columnIndex) —— 获取指定字段的值,字段下标从“1”开始,返回String类型。
- String getString(String columnLabel) —— 返回指定字段的值,字段通过字段名指定,返回String类型。
- void close() —— 关闭结果集。
- 其他get方法:getFloat()、getDouble()、getDate()、getBoolean()等。
- PreparedStatement接口继承自Statement。
- PreparedStatement用于执行预编译的SQL语句,预编译的SQL语句可以多次绑定参数执行,效率较高。
PreparedStatement pstmt = con.prepareStatement( "UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"); pstmt.setBigDecimal(1, 153833.00) pstmt.setInt(2, 110592)
- DatabaseMetaData
- 数据库元数据,通过它可以获取数据库各个方面的信息。
- 元数据包含了数据库的相关信息,例如当前数据库连接的用户名、使用的JDBC驱动程序、数据库允许的最大连接数、数据库的版本等。
ResultSetMetaData
结果集元数据,通过它可以获得结果集相关的信息,例如字段个数、字段名、字段类型等。
数据库
最新推荐文章于 2024-06-05 09:00:47 发布