数据库

来源:互联网 发布:淘宝店铺优惠券怎么用 编辑:程序博客网 时间:2024/05/22 15:47
  • 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
    结果集元数据,通过它可以获得结果集相关的信息,例如字段个数、字段名、字段类型等。
    原创粉丝点击