JDBC 学习笔记(三)

JDBC 学习笔记(三)

三、几个重要接口:

(1) Statement —— SQL语句执行接口

Statement接口代表了一个数据库的状态,在向数据库发送相应的SQL语句时,都需要创建Statement接口或者PreparedStatement接口。在具体应用中,Statement主要用于操作不带参数(可以直接运行)的SQL语句,比如删除语句、添加或更新。



(2) PreparedStatement:预编译的Statement

第一步:通过连接获得PreparedStatement对象,用带占位符(?)的sql语句构造。

PreparedStatement pstm = con.preparedStatement(“select * from test where id=?”);

第二步:设置参数

pstm.setString(1,“ganbin”);

第三步:执行sql语句

Rs = pstm.excuteQuery();

statement发送完整的Sql语句到数据库不是直接执行而是由数据库先编译,再运行。而PreparedStatement是先发送带参数的Sql语句,再发送一组参数值。如果是同构的sql语句,PreparedStatement的效率要比statement高。而对于异构的sql则两者效率差不多。

同构:两个Sql语句可编译部分是相同的,只有参数值不同。

异构:整个sql语句的格式是不同的

注意点:1、使用预编译的Statement编译多条Sql语句一次执行

2、可以跨数据库使用,编写通用程序

3、能用预编译时尽量用预编译





(3) ResultSet —— 结果集操作接口

ResultSet接口是查询结果集接口,它对返回的结果集进行处理。ResultSet是程序员进行JDBC操作的必需接口。



(4) ResultSetMetaData —— 元数据操作接口

ResultSetMetaData是对元数据进行操作的接口,可以实现很多高级功能。Hibernate运行数据库的操作,大部分都是通过此接口。可以认为,此接口是SQL查询语言的一种反射机制。ResultSetMetaData接口可以通过数组的形式,遍历数据库的各个字段的属性,对于我们开发者来说,此机制的意义重大。



JDBC通过元数据(MetaData)来获得具体的表的相关信息,例如,可以查询数据库中有哪些表,表有哪些字段,以及字段的属性等。MetaData中通过一系列getXXX将这些信息返回给我们。

数据库元数据 Database MetaData 使用connection.getMetaData()获得

MetaData包括: 包含了关于数据库整体元数据信息。

结果集元数据 Result Set MetaData 使用resultSet.getMetaData()获得

比较重要的是获得表的列名、列数等信息。

结果集元数据对象:ResultSetMetaData meta = rs.getMetaData();

ü 字段个数:meta.getColomnCount();

ü 字段名字:meta.getColumnName();

ü 字段JDBC类型:meta.getColumnType();

ü 字段数据库类型:meta.getColumnTypeName();



数据库元数据对象:DatabaseMetaData dbmd = con.getMetaData();

数据库名=dbmd.getDatabaseProductName();

数据库版本号=dbmd.getDatabaseProductVersion();

数据库驱动名=dbmd.getDriverName();

数据库驱动版本号=dbmd.getDriverVersion();

数据库Url=dbmd.getURL();

该连接的登陆名=dbmd.getUserName();


四、JDBC异常处理:

JDBC中,和异常相关的两个类是SQLException和SQLWarning。

1. SQLException类:用来处理较为严重的异常情况。

比如:① 传输的SQL语句语法的错误;

② JDBC程序连接断开;

③ SQL语句中使用了错误的函数。

SQLException提供以下方法:

getNextException() —— 用来返回异常栈中的下一个相关异常;

getErrorCode() —— 用来返回代表异常的整数代码 (error code);

getMessage() —— 用来返回异常的描述信息 (error message)。



2. SQLWarning类:用来处理不太严重的异常情况,也就是一些警告性的异常。其提供的方法和使用与SQLException基本相似。



结合异常的两种处理方式,明确何时采用哪种。

A. throws 处理不了,或者要让调用者知道,就throws;

B. try … catch 能自行处理,就进行异常处理。
主要内容:本文详细介绍了一种QRBiLSTM(分位数回归双向长短期记忆网络)的时间序列区间预测方法。首先介绍了项目背景以及模型的优势,比如能够有效利用双向的信息,并对未来的趋势上限和下限做出估计。接着从数据生成出发讲述了具体的代码操作过程:数据预处理,搭建模型,进行训练,并最终可视化预测结果与计算分位数回归的边界线。提供的示例代码可以完全运行并且包含了数据生成环节,便于新手快速上手,深入学习。此外还指出了模型未来发展的方向,例如加入额外的输入特性和改善超参数配置等途径提高模型的表现。文中强调了时间序列的标准化和平稳检验,在样本划分阶段需要按时间序列顺序进行划分,并在训练阶段采取合适的手段预防过度拟合发生。 适合人群:对于希望学习和应用双向长短时记忆网络解决时序数据预测的初学者和具有一定基础的研究人员。尤其适用于有金融数据分析需求、需要做多一步或多步预测任务的从业者。 使用场景及目标:应用于金融市场波动预报、天气状况变化预测或是物流管理等多个领域内的决策支持。主要目的在于不仅能够提供精确的数值预计还能描绘出相应的区间概率图以增强结论置信程度。 补充说明:本教程通过一个由正弦信号加白噪构造而成的简单实例来指导大家理解和执行QRBiLSTM流程的所有关键步骤,这既方便于初学者跟踪学习,又有利于专业人士作为现有系统的补充参考工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值