JDBC笔记

Statement的分类:
1、Statement:
2、PreparedStatement:预编译
3、CallableStatement:调用PLSQL
事务的处理:
事务的特性(ACID):
原子性
一致性
隔离性
持久性

课程目标:
1、元数据
2、JDBC2.0 结果集的处理
3、JDBC2.0 批处理
4、大对象的处理BLOB、CLOB

一、元数据
元数据是数据库本身的信息。在我们进行开发的时候,使用
到关于数据库的信息以及数据库中某些表的信息。
DatabaseMetaData类
主要使用的方法:
getDatabaseProductName():获取此数据库产品的名称。
getDatabaseProductVersion():获取此数据库产品的版本号。
getDriverName():获取此 JDBC 驱动程序的名称。
tring getDriverVersion():获取此 JDBC 驱动程序的 String 形式的版本号。
关于表的信息:
ResultSetMetadata类
getColumnName(int columnIndex);//字段的名称
getColumnTypeName(int columnIndex);//字段的类型

二、JDBC结果集的处理
1)、结果集的分类:
    按读取顺序:
   不可滚动结果集:只能通过next()方法顺序遍历
   滚动不敏感:
     滚动:可以随意根据需求在结果中跳转到当前所
     需要的位置。
     不敏感:当我们在处理结果集时,数据库的表中
     又新插入满足查询条件的字段,无法自动添加到
     已经查询好的结果集中。
   滚动敏感
    滚动:同上。
    敏感:能够自动添加满足查询条件的数据到结果集中。
    结果集的并发模式:
    可读的:
    可更新的:通过结果集对数据库表中的数据进行修改。
硬件环境:数据库服务器的支持   数据库驱动程序的支持。
ResultSet.TYPE_FORWARD_ONLY        不可滚动结果集
ResultSet.TYPE_SCORLL_INSENSITIVE   滚动不敏感结果集
ResultSet.TYPE_SCROLL_SENSITIVE     滚动敏感结果集
ResultSet.CONCUR_READ_ONLY     只读结果集
ResultSet.CONCUR_UPDATABLE     可更新的结果集

可滚动只读操作时:
boolean next();//下一条
boolean previous();//前一条
boolean first();//第一条
boolean last();//最后一条
void beforefirst();//第一条之前
void afterlast();//最后一条之后
boolean relative(int rows);//相对位移
rows为正数向后移,为负向前移
boolean absolute(int rows);//绝对位移
int getRow();//获得当前所在行
滚动可更新结果集操作:
void updateXXX(String columnName,XXX x);
void updateXXX(int columnIndex,XXX x);
void updateRow();//将更新的内容同步到对应的表中
//这个方法必须紧跟在updateXXX()方法后面。
void moveToInsertRow();//在当前的结果集中插入一条记录。
void insertRow();//同步到表中
void moveToCurrentRow();//移动到当前的列位置
void deleteRow();//删除当前行字段
void cancelRowUpdates();//取消更新操作


三、批处理
作用:将多个SQL语句一起发送到数据库服务端进行执行。
addBatch(String sql);//加入SQL语句
executeBatch();//执行批处理

四、大数据的处理
BLOB:二进制大对象
(Binary Large Object)
存储为数据库表某一行中的一个列值。
例如:图片、PDF
插入:
void setBinaryStream(int parameterIndex,
InputStream x, int length)

CLOB:字符大对象    4G
(Character Large Object)
存储为数据库表某一行中的一个列值。
例如:文本文件

你可能感兴趣的:(sql,jdbc)