[JAVA] Instructions pour créer Apache Derby sous Windows

Non seulement JDK, mais aussi Glassfish, WebSphere, Apache Hive, etc. Apache Derby a l'impression qu'il est souvent livré avec des outils liés à Java.

Léger, intégré / serveur, pur Java, il peut donc être utilisé à toutes fins C'est une base de données facile à utiliser pour l'apprentissage.

Une telle procédure de construction Derby (de l'installation à la création des données) est résumée, Je l'ai écrit à partir de l'idée qu'il sera possible de le gérer comme une base de données pouvant être utilisée plus facilement.

Installer Derby

Aucune installation n'est requise pour utiliser le Derby fourni. Si vous n'avez pas installé les outils fournis Ou, si vous souhaitez l'installer séparément, veuillez le télécharger à partir de la page suivante.

http://db.apache.org/derby/derby_downloads.html

La dernière version au moment de la rédaction de cet article était 10.13.1.1. Cliquez sur le lien de cette version pour télécharger le zip. db-derby-10.13.1.1-bin.zip

Décompressez le fichier ci-dessus. La destination de sauvegarde est arbitraire. Dans ce manuel, il a été déplacé vers le répertoire suivant. C:\Tools\derby

Paramètres de base de Derby

Ajoutez les paramètres liés à Derby aux variables d'environnement système. DERBY_HOME=C:\Tools\derby PATH = (omis);% DERBY_HOME% \ bin

Ensuite, démarrez le dossier bin spécifié dans PATH plus tôt à l'invite de commande.

:: derby.Créer des propriétés et un utilisateur/Définissez un mot de passe.
C:\Tools\derby\bin>type nul > derby.properties
C:\Tools\derby\bin>notepad derby.properties

Copiez le contenu suivant sur le bloc-notes. Lorsque vous avez terminé, enregistrez et fermez.

derby.properties


derby.authentication.provider=BUILTIN
derby.connection.requireAuthentication=true
derby.database.sqlAuthorization=true
derby.database.fullAccessUsers=admin
derby.database.readOnlyAccessUsers=guest
derby.user.admin=admin
derby.user.guest=guest
::Créez un répertoire pour enregistrer la base de données
C:\Tools\derby\bin>md %DERBY_HOME%\dat

Créer une base de données

Maintenant que vous avez les paramètres de base, il est temps de créer la base de données.

La commande Derby ij est omise ici. Cliquez ici pour plus de détails → Mémo Java DB Vous pouvez également le vérifier avec la commande help de ij, donc si vous êtes intéressé, là. Cependant, la commande ij a absolument un; (point-virgule) à la fin de la phrase, donc soyez prudent dès le début. Même si vous oubliez le ;, vous pouvez exécuter la commande en appuyant sur; sur la ligne suivante;

Cette fois, écrivez les commandes pour créer la base de données, la table et les données dans le fichier sql. Prenez le style d'exécution du fichier sql avec la commande ij.

database-create.sql


connect 'jdbc:derby:c:/Tools/derby/dat/test;user=admin;password=admin;create=true';
:: database-create.Déplacer vers le répertoire où sql est stocké
C:\Tools\derby\bin>cd D:\workspace\script
::Créer une base de données.
D:\workspace\script>ij.bat database-create.sql

Créer une table

Ensuite, créez une table. Dans Derby, si TABLE existe, il n'y a pas d'instruction pour exécuter DROP, il est donc nécessaire qu'une personne la juge. Bien sûr, si vous créez une telle fonction, elle sera résolue, mais cette fois, nous ne nous en occuperons pas.

users-create.sql


connect 'jdbc:derby:c:/Tools/derby/dat/test;user=admin;password=admin';

MAXIMUMDISPLAYWIDTH 15;

--DROP TABLE users if needed

show tables in admin;

CREATE TABLE users (
    id INT NOT NULL PRIMARY KEY
        GENERATED ALWAYS AS IDENTITY
        (START WITH 1, INCREMENT BY 1),
    login_id VARCHAR(20) NOT NULL,
    password VARCHAR(20) NOT NULL,
    user_name VARCHAR(20) NOT NULL,
    birthday CHAR(8),
    email VARCHAR(40) NOT NULL,
    address VARCHAR(200),
    credit_card_number CHAR(16),
    authority_type CHAR(1) NOT NULL,
    is_deleted CHAR(1) NOT NULL,
    created_at TIMESTAMP NOT NULL,
    updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_by VARCHAR(20) NOT NULL
);

CREATE UNIQUE INDEX ui_users_01 ON users (
    login_id
);
CREATE UNIQUE INDEX ui_users_02 ON users (
    email
);
CREATE UNIQUE INDEX ui_users_03 ON users (
    credit_card_number
);

show tables in admin;
describe users;

commit;
::Créer une table des utilisateurs
D:\workspace\script>ij.bat users-create.sql

Insérer un enregistrement

Insérez l'enregistrement à la fin.

users-insert.sql


connect 'jdbc:derby:c:/Tools/derby/dat/test;user=admin;password=admin';

MAXIMUMDISPLAYWIDTH 15;

select * from users;

INSERT INTO users VALUES 
(DEFAULT, 'sj', 'berkay', 'sercan', '20000318', '[email protected]',
'19 Mc Cabe Street', '1234567890123456', '1', '0', current_timestamp, current_timestamp, 'admin');
INSERT INTO users VALUES 
(DEFAULT, 'br', 'ugur', 'oljay', '19980322', '[email protected]',
'19 Mc Cabe Street 2145', '1234567890123450', '1', '0', current_timestamp, current_timestamp, 'admin');

select * from users;

commit;
::Insérez des données dans la table des utilisateurs.
D:\workspace\script>ij.bat users-insert.sql

Comme vous pouvez le voir, le SQL de Derby peut être écrit en SQL presque standard. La différence dans DML est qu'il n'y a pas de clause LIMIT (la fonction ROW_NUMBER ou la clause OFFSET / FETCH est utilisée à la place). Seule "expression conditionnelle CASE WHEN" est prise en charge. ("CASE WHEN ~" ne peut pas être utilisé). Veuillez vous référer au manuel de la fonction. Je n'ai ni COALESCE ni REPLACE.

référence

Mémo Java DB [developerWorks --Development using Apache Derby](http://www.ibm.com/developerworks/jp/views/opensource/libraryview.jsp?search_by=Apache+Derby+%E3%82%92%E4%BD%BF % E7% 94% A8% E3% 81% 97% E3% 81% 9F% E9% 96% 8B% E7% 99% BA) Derby Reference Manual

Recommended Posts

Instructions pour créer Apache Derby sous Windows
Construisez ffmpeg 4.3.1 sur Ubuntu pour Windows
Comment utiliser Apache Derby sur Eclipse
Création d'applications Web Java sur Windows Server 2016
Utiliser Docker Desktop pour Windows avec Linux (WSL)
Installez Corretto 8 sur Windows
Apache2 sur Ubuntu20.04 LTS
Difficultés à créer un environnement Ruby on Rails (Windows 10) (SQLite3)
Mesures des autorisations lors de la construction de MySQL avec Docker sur WSL2