jdbc——序列 日期转换 执行存储过程(CallableStatement)对象序列化实例

本文主要是介绍jdbc——序列 日期转换 执行存储过程(CallableStatement)对象序列化实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

序列

创建序列

create sequence seq_student_stuid
start with 1000
increment by 1
nomaxvalue
nominvalue
nocycle
nocache;

第一次查询要先查询nextval,然后才能查询currval
例如:

select seq_student_stuid.nextval from dual;
select seq_student_stuid.currval from dual;

日期转换

//把一个输入的日期转换为固定格式的日期
String borndt=input.next();
Date borndate=new SimpleDateFormat("yyyy-MM-dd").parse(borndt);
ps.setDate(4,new java.sql.Date(borndate.getTime()));
//查询学生表中的出生日期
select stuname,to_char(borndate,'yyyy-mm-dd hh24:mi:ss') from student;
//此时查询到的时间时分秒都是0
//如果需要时间精确到时分秒,需要使用时间戳
//时间戳内放的是毫秒数
ps.setTimestamp(4,new Timestamp(borndate.getTime()));

如果是查询,取完值了才能close
增加删除修改,执行完了就可以close

执行存储过程

CallableStatement
用于执行sql存储过程的界面
格式:{call p_getsal(?)},有几个参数就写几个问号
对于输入类型的参数,直接使用setInt等赋值即可
对于输出类型的参数,要先注册再执行
----过程返回单个数据

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLType;
/** create or replace procedure p_getsal
(v_empno in out number
)
is
beginselect sal into v_empno from emp where empno=v_empno;
end;*/
public class ExecuteProc {public static void main(String[] args) throws Exception {Class.forName("oracle.jdbc.driver.OracleDriver");String url = "jdbc:oracle:thin:@//localhost:1521/ORCL";String user = "scott";String password = "tiger";Connection conn = DriverManager.getConnection(url, user, password);//{call <procedure-name>[(<arg1>,<arg2>, ...)]} CallableStatement call= conn.prepareCall("{call p_getsal(?)}");//输入型 in setxxx()赋值即可call.setInt(1, 7788);//输出型 out 先注册call.registerOutParameter(1, java.sql.Types.NUMERIC);call.execute();double sal=call.getDouble(1);System.out.println("7788工号的工资是:"+sal);call.close();conn.close();}
}

----过程返回多个数据

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.

这篇关于jdbc——序列 日期转换 执行存储过程(CallableStatement)对象序列化实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/827173

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则