Typ danych BIGINT
Opis
Liczba całkowita 8 bajtów (64 bity).
Składnia
BIGINT
Ograniczenia
Jeśli podana liczba przekracza zakres typu zostanie zapisana jako DECIMAL
.
Odpowiadający typ Java
java.lang.Long
Odpowiadający typ JDBC
java.sql.Types.BIGINT
Zakres
min | max |
---|---|
java.lang.Long.MIN_VALUE =-9 223 372 036 854 775 808 |
java.lang.Long.MAX.VALUE =+9 223 372 036 854 775 807 |
Klasa R041.java
package aderby.types; import aderby.DerbyUtil; import java.sql.*; import java.util.Objects; public class R041_BIGINT { private static final String baza = "C:/Przyklady/R041"; private static final String createTable ="CREATE TABLE primes(\n" + " id INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY(\n" + " START WITH 1, INCREMENT BY 1),\n" + " val BIGINT)"; public static void main(String[] args) { DerbyUtil.startDerbyEngine(DerbyUtil.embdriver); //Utworzenie połączenia i bazy danych Connection con = DerbyUtil.connectEmbeddedDB(baza, ";create=true"); Statement stat = null; try { //Utworzenie polecenia stat = con.createStatement(); //wykonanie polecenia utworzenia tabeli stat.execute(createTable); } catch (SQLException e) { e.printStackTrace(); } //wstawienie danych PreparedStatement pstm = null; try { //Tworzymy polecenie przygotowywane umożliwiające wstawienie danych do tabeli //wartości do kolumny id wstawiane będą z automatu //wartości w kolumnie drugiej val musimy podać pstm = con.prepareStatement("INSERT INTO primes VALUES(DEFAULT,?)"); } catch (SQLException e1) { e1.printStackTrace(); } for (int i = 0; i < 100; i++) { //losujemy liczbę w zakresie od i włącznie do 5000 włącznie long liczba = DerbyUtil.randomInRange(i, 5000); //znajdujemy najbliższą liczbę pierwszą większą od wylosowanej long prime = DerbyUtil.getPrime(liczba); try { //wstawiamy liczbę do kolumny prime, czyli zamiast 1 (pierwszego) znaku //zapytania w poleceniu przygotowywanym Objects.requireNonNull(pstm).setLong(1, prime); //wstawiamy liczbę do tabeli pstm.execute(); //czyścimy parametry pstm.clearParameters(); } catch (SQLException e) { e.printStackTrace(); } } ResultSet rs = null; try { //Wykonujemy zapytanie tworzące ResultSet. Gdybyśmy chcieli wykonać następne //zapytanie musielibyśmy utworzyć nowy obiekt Statement rs = Objects.requireNonNull(stat).executeQuery("SELECT * FROM primes WHERE val > 1000"); //wypisujemy wyniki na konsoli while (rs.next()) { System.out.println(rs.getLong("val")); } } catch (SQLException e) { e.printStackTrace(); } //Zamykamy utworzone obiekty DerbyUtil.close(pstm); DerbyUtil.close(rs); DerbyUtil.close(stat); DerbyUtil.close(con); DerbyUtil.shutdownEmbeddedDB(baza); DerbyUtil.shutdownDerbyEngine(); } }
Po uruchomieniu klasy na konsoli zobaczymy sto losowych liczb pierwszych:
3833 1399 3527 2017 3931 1669 3989 1721 4987 4493 4861 2029 4229 4663 3833 3449 3209 4049 3271 1811 4621 4903 2657 3109 4523 4139 3299 1693 3911 3449 1193 1559 2393 2621 2999 2699 3499 2579 4391 3863 1997 2851 4201 4651 1993 3163 1399 2917 1759 2789 4073 1201 4129 3319 4799 4957 1531 2819 1693 2749 4493 1567 3163 4547 2647 1801 2539 2351 2777 2069 2857 2467 4177 4253 1129 2459 1427 4889 1399 2459 2683 2063 1949 1801 2399 4133 2729 4733 4201 4049 1303 3923 3359 1123 4603 3221 4751 4943 3323 4903 4637 2897 3847 3779 3533 1459 4783 1721 3181 2011 4673 4787 2399 4451 1607 1619 3581 4591 2017 3761 4079 1831 4523 3137 4721 1811 3037 4391 3221 1847 3643 4751 4987 4283 3967 2777 2347 3517 3877 2417 1039 1019 1453 2503 2203 1637 4127 1423 3511 3877 4987 4547 4073 2969 4177 4561 1471 2633 2411 1033 4943 1049 1499 1709 2267 3719
Pliki do ściągnięcia
Aktualny (tworzony narastająco) plik module-info.java
Aktualny (tworzony narastająco) plik DerbyUtil.java
Pliki tworzone narastająco zastępują poprzednie pliki o tej samej nazwie i działają dla wszystkich wcześniej opublikowanych przykładów we wszystkich wpisach w projekcie. W przypadku pliku module-info.java
może być potrzebne skreślenie niepotrzebnych wpisów.