JDBC
- Java DataBase Connectivity
- java数据库连接
- 用于执行SQL的java API
- 可以为多种关系数据库提供统一访问
JDBC 不足
- 尽管JDBC在JAVA语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。
支持的数据库
- Oracle
- Sql Server
- MySQL
- DB2
- Sybase
- Informix
- PostgreSQL
- Access
preparestatment还是statement
连接数据库步骤
- 得到数据驱动程序
- 创建数据库连接
- 执行SQL语句
- 得到结果集
- 对结果集进行相应处理(增、删、改、查)
- 关闭资源(这里指DB中的资源)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.*; public class TestJDBC { public static void main(String[] args){ PreparedStatement pst = null; ResultSet rs = null; Connection conn = null; try { // 得到数据驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); // 创建数据库连接 conn = DriverManager.getConnection( "jdbc:oracle:thin:@127.0.0.1:1521:siq", "tiger", "tiger"); // 执行SQL 语句 String sqlString = "select sysdate from dual"; pst = conn.prepareStatement(sqlString); // 得到结果集 rs = pst.executeQuery(); // 对结果集进行相应处理(增、删、改、查) if(rs.next()){ System.out.println(rs.getString(1)); } rs.close(); pst.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源(这里指DB中的资源) try{ if(rs != null){ rs.close(); rs = null; } if(pst != null){ pst.close(); rs = null; } if(conn != null){ conn.close(); rs = null; } } catch (SQLException e){ e.printStackTrace(); } } } }