JDBC学习总结

1、JDBC简介

   1JDBC(Java Database Connection)java语言访问和操作数据库的一种途径。

    2JDBC操作数据库的SQL的类型:DMLDDLDCL

    3JDBC驱动实现java连接操作不同类型的数据库。

2、JDBC

   Java.sql——JDBC的核心类和接口

   Javax.sql——数据库连接池、数据源、JNDIRowset等高级特征

3JDBC常用接口和类

   —DriverManager:驱动管理器,获得数据库连接

   —Connection:数据库连接接口

   —Statement:语句接口,用来静态操作SQL语句

   —PreparedStatement:预定义语句,用来动态操作SQL语句

   —CallableStatement:可以调用存储过程的预定义语句

   —ResultSet:结果集,保存数据记录的结果集合

   —ResultSetMetaData:结果集元数据,如:列名称、列类型等

   —DatabaseMetaData:数据源数据,如:数据库名称,版本等

4JDBC编程步骤

   1)加载数据库驱动(jar文件)

   2)获得数据库连接

   3)创建语句

   4)执行查询

   5)遍历结果集

   6)关闭数据库连接

 

5Statement的常用方法://静态的

execute(String sql):执行给定的sql语句,该语句可能返回多个结果

executeQuery(String sql):执行给定的sql语句,该语句返回单个ResultSet对象

executeUpdate(String sql):执行给定的sql语句,该语句可能为INSERTUPDATE或 DELETE语句,或者不返回任何内容的sql语句(如 sql DDL语句)

6ResultSet的常用方法:

   Absoluten:绝对定位到第n

   next():下一行,返回布尔型

getXXX():获取对应字段对应类型的数据

getRow():获取当前行的光标

    0:代表第一行的前边或最后一行后边

ResultSet对象不可更新,仅有一个向下移动的光标,因此只能迭代一次,以下代码演示了如何生成可滚动且不受其他更新的影响可更新结果集:(前提是更新的表要有主键)

Statement=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);//两参数:一个可滚动,一个可更新

7、JDBC MetaData

   1)结果集的MetaData

      ResultSetgetMetaData方法返回结果集元数据对象ResultSetMetaData

   2)数据库的MetaData

Connr\ectiongetMetaData方法返回结果集元数据对象DatabaseMetaData 

8、PreparedStatement//动态的,有条件的

PreparedStatement为占位符“?”赋值,预生成SQL语句,动态操作数据库

根据当前SQL的数据类型调用相应的方法如下:

setAsciiStream(int parameterIndex, InputStream x)

将指定参数设置为给定输入流。

setBigDecimal(int parameterIndex, BigDecimal x)

将指定参数设置为给定 java.math.BigDecimal 值。

setBinaryStream(int parameterIndex, InputStream x)

将指定参数设置为给定输入流。

setBoolean(int parameterIndex, boolean x)

将指定参数设置为给定 Java boolean 值。

setByte(int parameterIndex, byte x)

将指定参数设置为给定 Java byte 值。

setBytes(int parameterIndex, byte[] x)

将指定参数设置为给定 Java byte 数组。

setDate(int parameterIndex, Date x)

 使用运行应用程序的虚拟机的默认时区将指定参数设置为给定 java.sql.Date 值。

setDouble(int parameterIndex, double x)

将指定参数设置为给定 Java double 值。

setFloat(int parameterIndex, float x)

将指定参数设置为给定 Java REAL 值。

setInt(int parameterIndex, int x)

将指定参数设置为给定 Java int 值。

setLong(int parameterIndex, long x)

将指定参数设置为给定 Java long 值。

setNull(int parameterIndex, int sqlType, String typeName)

将指定参数设置为 SQL NULL。

setObject(int parameterIndex, Object x) 

使用给定对象设置指定参数的值。

setShort(int parameterIndex, short x)

将指定参数设置为给定 Java short 值。

setString(int parameterIndex, String x)

将参数设置为给定 Java String 值。

setTime(int parameterIndex, Time x)         

将指定参数设置为给定 java.sql.Time 值。

setTimestamp(int parameterIndex, Timestamp x)

将指定参数设置为给定 java.sql.Timestamp 值。

setURL(int parameterIndex, URL x)

将参数设为给定java.net.URL 值。

 

9、CallableStatement:用于执行 SQL 存储过程的接口。

   三种存储过程:无参数,有输入参数,有输入输出参数

10、DAO设计模式

    

JDBC学习总结,布布扣,bubuko.com

JDBC学习总结

上一篇:Java数据类型与SQL数据类型的映射


下一篇:2008技术内幕:T-SQL语言基础 单表查询摘记