Convertir un projet Java de Maven vers un projet Eclipse

L'IDE Eclipse ne supporte pas nativement les projets Maven.
Pour travailler avec Eclipse un projet Maven, il faut convertir ce dernier.
Conversion du projet.
Avec une invite de commande, il faut naviguer vers la racine du projet Java (contenant le fichier POM.xml) et appeler le goal eclipse: eclipse:
<poem>
cd PROJET_HOME
mvn eclipse:eclipse
</poem>
Fichiers créés.
Le goal eclipse du plugin Maven eclipse créée 2 Fichiers spécifiques à Eclipse:
Le fichier .classpath.
Le 1er fichier créé est .classpath, qui contient peu ou prou:
<poem>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
 <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
 <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
 <classpathentry kind="output" path="target/classes"/>
 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
</classpath>
</poem>
Le fichier .project.
L'autre fichier créé est .project , dont voici un exemple de contenu :
<poem>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
 <name>NomDuProjet</name>
 <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
 <projects/>
 <buildSpec>
 <buildCommand>
 <name>org.eclipse.jdt.core.javabuilder</name>
 </buildCommand>
 </buildSpec>
 <natures>
 <nature>org.eclipse.jdt.core.javanature</nature>
 </natures>
</projectDescription>
</poem>
Import dans Eclipse.
Il suffit maintenant d'importer le projet ainsi adapté comme un simple projet existant:

Oracle Database/Quelques requêtes utiles/Dictionnaire de données

Le dictionnaire de données Oracle est un ensemble de tables système, qui contiennent les informations de fonctionnement de la base de données comme :
Ces informations sur les informations sont appelées méta données.
Les informations du dictionnaire de données sont consultables par l'administrateur SYSTEM.
De nombreuses vues permettent d'accéder à des contenus spécifiques (comme ceux énumérés précédemment).
Afficher toutes les vues du dictionnaire.
La requête suivante, adaptable en commentant/décommentant les éléments souhaités, permet de lister divers éléments du dictionnaire
SELECT *
FROM dict
WHERE table_name LIKE 
'%USER_%' --vues user
--'%DBA_%' -- 7 vues dba
--'C%' -- 10 vues débutent par la lettre C
--'G%' -- 492 vues débutent par la lettre G
--'V%' -- 618 vues débutent par la lettre V
--'V%' and comments not like 'Syno%' -- Toutes les vues en V sont des Synonymes
--1830 vues en tout
ORDER BY TABLE_NAME
Afficher quelques vues dynamiques utiles au DBA.
La requête suivante, adaptable en commentant/décommentant les éléments souhaités, permet d'obtenir quelques informations et statistiques
-- Vues dynamiques utiles au DBA
SELECT *
FROM
-- V$VERSION -- Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
--V$DATABASE -- DBID NAME CREATED RESETLOGS_CHANG etc...
--V$SESSION -- 30 sessions ouvertes, multiples informations comme la machine etc...
--V$LOCK -- Infos sur les verrous
--V$SGA -- Fixed Size 2230768, Variable Size 1275069968, Database Buffers 1912602624, Redo Buffers 16932864
--V$SQL -- non accessible
V$SYSSTAT -- 628 statistiques
Afficher toutes les tables dynamiques.
Les tables dynamiques correspondent à des zones de la mémoire SGA lorsqu'Oracle est en activité (elles disparaissent à l'arrêt de la base)
-- Les tables dynamiques correspondent à des zones de la mémoire SGA lorsqu'Oracle est en activité (elles disparaissent à l'arrêt de la base)
-- La vue v$fixed_table permet d'avoir toutes les tables et les vues PUREMENT dynamiques
-- DROITS REQUIS: SYS
SELECT *
FROM v$fixed_table
WHERE type='TABLE';
Travailler sur les méta-informations des tables.
Le dictionnaire de données permet de collecter des informations par introspectif.
Classer les tables par nombre croissant de lignes.
-- Classement des tables de la moins chargée en ligne à celle comptant le plus d'enregistrements
SELECT
table_name, num_rows
FROM user_tables
ORDER BY num_rows
Classer les tables par nombre croissant de colonnes.
-- Classement des tables par nombre croissant de colonnes
SELECT
table_name,
count(*) as Nb_Cols
FROM user_tab_columns
WHERE
--table_name = 'POOL'
--table_name like 'FOOTBALL_CLUB_%'
GROUP BY table_name
ORDER BY Nb_Cols
Lister les colonnes d'une table.
-- Liste des colonnes de la table
SELECT
column_name
--count(column_name)
FROM user_tab_columns
WHERE
table_name = 'MATCH'
--'REFEREE'
--'PLAYER'
--table_name like 'POOL%'
--table_name like 'FOOTBALL_CLUB_%'
--GROUP BY table_name

Oracle Database/Quelques requêtes utiles/Paramètres système

Il est possible de lire (et même modifier) des paramètres système par simple requêtage.
Afficher les informations de version.
Pour savoir quelles versions (et composants) on utilise.
SELECT * FROM PRODUCT_COMPONENT_VERSION; 
Afficher les paramètres système modifiables dans la session.
La requête suivante, adaptable en commentant/décommentant les éléments souhaités, permet de lister divers paramètres système et d'ordonner ceux-ci selon qu'ils soient modifiables ou pas.
--Paramètres système modifiables dans la session
SELECT 
p.name, p.isses_modifiable, p.issys_modifiable, p.display_value
FROM v$system_parameter p
WHERE p.isses_modifiable = 'TRUE' --Oracle ne comprend pas le type booléen: il s'agit en fait d'un string !!
--WHERE name like '%param%'
--WHERE name like '%'||lower('&param')||'%';
ORDER BY p.issys_modifiable

Oracle Database/Oracle ignore le type booléen

Oracle ne respecte pas totalement SQL:1999 et ne dispose pas de type booléen.
Ce type doit être recréé suivant deux stratégies, dont aucune ne prévaut véritablement sur l'autre.
Utilisation de CHAR.
La première façon d'émuler le type booléen est d'utiliser les CHAR, notamment les char de dimension 1 :
CHAR(1) 'Y'/'N' 
L'inconvénient de la méthode est qu'il rend la notion dépendante de la langue utilisée. Et cela peut devenir perturbant pour un développeur récupérant un travail fait dans un autre pays.
Utilisation de NUMBER.
La deuxième façon d'émuler le type booléen est d'utiliser les NUMBER, de dimension 1 :
NUMBER(1) 0/1
Cette méthode n'est pas toujours sans inconvénient. Les utilisateurs de Visual Basic, par exemple, sont habitués à donner à True la valeur -1 !