兩種獲取Oracle Sequence的方法

2021-04-01 21:23:54 字數 1287 閱讀 6254

前提:

create table booking (

id integer not null,

date_made date,

reserved_until timestamp,

price decimal(15, 2) not null,

purchase_id integer,

primary key(id))

create sequence booking_seq 

start with 1

increment by 1

nomaxvalue;

方法一:利用spring的.springframework.jdbc.support.incrementer.oraclesequencemaxvalueincrementer
oraclesequencemaxvalueincrementer incr = 

new oraclesequencemaxvalueincrementer(datasource, "booking_seq");

public int getnewbookingid()

針對不同的資料庫spring提供了不同的支援類。
方法二:使用資料庫本身的觸發器
create or replace trigger tib_booking before insert

on booking for each row

declare

integrity_error  exception;

errno            integer;

errmsg           char(200);

dummy            integer;

found            boolean;

begin

--  column "id" uses sequence booking_seq

select booking_seq.nextval into :new.id from dual;

測試:
insert into booking(date_made,price) values(sysdate,22222);

commit;

hibernate兩種獲取session方法的區別

在hibernate中有兩種方法獲得session opensession getcurrentsession 如果使用的getcurrentsession 方法 就要在hibernate.cfg.xml檔案中進行配置 如果是本地事務 jdbc thread 如果是全域性事物 jta jta 兩種方...

爬蟲之兩種網頁獲取辦法

import requests 將引數字典進行編碼 from urllib import parse 攜帶引數的get請求,攜帶引數的第二種方式 base url 生成引數 qs 引數編碼 專門用來進行編碼,特別是有中文的 params parse.urlencode qs print params...

兩種if判斷

上海面試三 下面是c語言中兩種if語句判斷方式。請問哪種寫法更好?為什麼?int a if a1 第一種判斷方式 if 1a 第二判斷方式 答 這是個主觀題,不過多數人認為第二種好。從執行效率上講,第二種效率更高。另外,在編寫 時如果不小心將 寫成 即變成 1 a 這時編譯器將會給出錯誤提示。而如果...

獲取CPUID序列號的兩種辦法

win32k 平臺上,獲取cpuid的辦法主要有兩種,一種是利用 wmi 另一種是利用 x86 彙編的 cpuid 指令,而最快的辦法就是通過彙編了,而且 wmi 與彙編之間效率上的差距的確有點讓人難以忍受,wmi 獲取 cpuid 的效率幾乎接近了一秒鐘,而利用 cpuid 指令的辦法,大概是幾個...

jQuery 獲取DOM節點的兩種方式

jquery中包裹後的dom物件實際上是一個陣列,要獲得純粹的dom物件可以有兩種方式 1 使用陣列索引方式訪問,例如 var dom dom 0 如 id 0 2 使用函式get 訪問,例如 var dom dom get 0 get 函式中的引數為索引號。什麼是jquery物件?就是通過jque...