1. 程式人生 > 其它 >2020/6/19 ATM+購物商城(自己寫的)

2020/6/19 ATM+購物商城(自己寫的)

目錄

H2支援的資料型別

INT型別:對應java.lang.Integer
REAL型別:對應java.lang.Float
DOUBLE型別:對應java.lang.Double
DECIMAL型別:對應java.math.BigDecimal,比如DECIMAL(20,2)
CHAR型別:對應java.lang.String,比如CHAR(10)
VARCHAR型別:對應java.lang.String
VARCHAR_IGNORECASE型別:對應java.lang.String,忽略大小寫
BOOLEAN型別:對應java.lang.Boolean
TIME型別:對應java.sql.Time,當轉換成java.sql.Date時,日期會設定成1970-01-01
DATE型別:對應java.sql.Date,格式為yyyy-MM-dd,其時間預設為00:00:00
TIMESTAMP型別:對應java.sql.Timestamp,格式為yyyy-MM-dd hh:mm:ss[.nnnnnnnnn],也支援java.util.Date
TINYINT型別:對應java.lang.Byte,-128 to 127
SMARTINT型別:對應java.lang.Short,-32768 to 32767
BIGINT型別:對應java.lang.Long
IDENTITY型別:自增型別,對應java.lang.Long,值範圍-9223372036854775808 to 9223372036854775807
BINARY型別:二進位制位元組儲存,最大不超過2GB,且完全儲存在記憶體,比如BINARY(1000)
BLOB型別:對應java.sql.Blob,與BINARY相似,但針對很大的資料(如檔案或影象),且不完全儲存在記憶體,使用PreparedStatement.setBinaryStream來儲存資料。
CLOB型別:與VARCHAR相似,但適用於儲存很大的資料,且資料不完全儲存在記憶體。用於任意尺寸的XML或HTML文件、文字檔案等。使用PreparedStatement.setCharacterStream儲存資料。
OTHER型別:對應java.lang.Object,用於儲存序列化的Java物件,使用的是位元組陣列,客戶端只能做序列化或反序列化,使用getObject反序列化,使用PreparedStatement.setObject儲存資料。
UUID型別:對應java.util.UUID,128位的值,可以使用PreparedStatement.setBytes或setString或setObject(uuid)儲存資料,使用ResultSet.getObject取回資料。
ARRAY型別:對應java.lang.Object[]

H2資料庫常用的函式

CURRENT_DATE:取當前日期
CURRENT_TIME:取當前時間
CURRENT_TIMESTAMP:取當前日期時間
LOWER:字串小寫
UPPER:字串大寫
CONCAT:字串連結
CHAR:ASCII值轉字元
ASCII:字元轉ASCII值
ENCRYPT:加密函式,支援AES演算法,Block尺寸為16位元組,
比如CALL ENCRYPT('AES', '00', STRINGTOUTF8('Test'))
DECRYPT:解密函式,支援AES演算法,Block尺寸為16位元組,
比如CALL TRIM(CHAR(0) FROM UTF8TOSTRING(
DECRYPT('AES', '00', '3fabb4de8f1ee2e97d7793bab2db1116')))
HASH:雜湊函式,只支援SHA256演算法,比如CALL HASH('SHA256', STRINGTOUTF8('Password'), 1000)
MAX:求最大
MIN:求最小
SUM:求和
CURRENT_USER:返回當前使用者
H2VERSION:返回H2資料庫的版本
DISK_SPACE_USED:返回表使用的磁碟空間尺寸,比如CALL DISK_SPACE_USED('my_table');
DATABASE_PATH:返回資料庫檔案的路徑和資料庫名,比如CALL DATABASE_PATH();