use of mom.trd.opentheso.core.exports.privatesdatas.LineOfData in project opentheso by miledrousset.
the class importxml method insertLine2.
/**
* cette funtion permet de faire la inyection a la BDD line par line de la table "nomtable"
* et le données que ils sont dans une ArrayList
* Cette funtion c'est la generique;
* @param ds
* @param table
* @param nomtable
*/
private void insertLine2(HikariDataSource ds, ArrayList<LineOfData> table, String nomtable) throws ClassNotFoundException, SQLException {
Statement stmt;
String nomcolun = "";
String values = "";
boolean first = true;
Connection con = ds.getConnection();
String temp = "";
for (LineOfData lineOfData : table) {
if (!first) {
nomcolun += ",";
values += ",";
}
// nomcolun contiens toutes les camps de la table "nomtable"
nomcolun += lineOfData.getColomne();
// contiens toutes les values de la memme ligne
values += "'" + lineOfData.getValue() + "'";
first = false;
}
values += ");";
try {
stmt = con.createStatement();
try {
// récupération des noms des colonnes de la table
String query = "INSERT INTO " + nomtable + " ( " + nomcolun + ") VALUES (" + values;
temp = query;
stmt.executeUpdate(query);
} finally {
stmt.close();
con.close();
}
} catch (SQLException ex) {
Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
System.out.println(temp);
}
}
use of mom.trd.opentheso.core.exports.privatesdatas.LineOfData in project opentheso by miledrousset.
the class importxml method ouvreFichier.
/*
for (Table user : DataTable) {
for (LineOfData lineOfData : user.getLineOfDatas()) {
writeLine(lineOfData.getColomne(), lineOfData.getValue());
}
*/
/*
public void choisirfichier (HikariDataSource ds){
JFileChooser fileChooser = new JFileChooser();
int seleccion = fileChooser.showOpenDialog(null);
fichero = fileChooser.getSelectedFile();
//Acciones que se quieran realizar
ouvreFichier();
}*/
/**
* cette funtion permet de ouvrir un fichier pour comencée a faire une
* injection de données.
* C'est seulement pour la creation de un nouvelle BDD.
* la funtion generique est plus ba
* @param con
* @param archive
* @throws ClassNotFoundException
* @throws SQLException
*/
public void ouvreFichier(Connection con, File archive) throws ClassNotFoundException, SQLException {
LanguageBean langueBean = new LanguageBean();
SAXBuilder builder = new SAXBuilder();
ArrayList<Table> toutTables = new ArrayList<>();
ArrayList<LineOfData> lineOfDatas = new ArrayList<>();
try {
// on crée le document a partir du fichier que on a selectioné
Document document = (Document) builder.build(archive);
// Se obtiene la raiz 'tables'
Element rootNode = document.getRootElement();
// ici on a toutes les tables (les enfants de la racine)
List list = rootNode.getChildren("table");
// ici on fait le tour pour les enfants de 'tables'
for (int i = 0; i < list.size(); i++) {
// ici on a la première table
Element tabla = (Element) list.get(i);
// ici on a le nom de la table
String nombreTabla = tabla.getAttributeValue("nom");
// ici c'est la liste des lignes de la table
List lista_campos = tabla.getChildren();
// ici on découpe la liste des lignes
for (int j = 0; j < lista_campos.size(); j++) {
// ici on a une ligne de la table
Element campo = (Element) lista_campos.get(j);
for (Element colonne : campo.getChildren()) {
LineOfData lineOfData = new LineOfData();
// le nom de la colone
lineOfData.setColomne(colonne.getName());
// le value que le correspond
lineOfData.setValue(colonne.getText());
lineOfDatas.add(lineOfData);
}
insertLine(con, lineOfDatas, nombreTabla);
lineOfDatas.clear();
}
// / mettre à jour la table dans la BDD
}
} catch (IOException | JDOMException io) {
System.out.println("error");
}
// FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(langueBean.getMsg("info") + " :", langueBean.getMsg("impBDD.info1")));
}
use of mom.trd.opentheso.core.exports.privatesdatas.LineOfData in project opentheso by miledrousset.
the class ExportPrivatesDatas method getDatasOfTable.
public ArrayList<Table> getDatasOfTable(HikariDataSource ds, String tableName) {
ArrayList<Table> tableList = new ArrayList<>();
if (!isTableToIgnore(tableName)) {
ArrayList<TablesColumn> tablesColumns = new ArrayList<>();
Connection conn;
Statement stmt;
ResultSet resultSet;
String colomneNameTemp;
try {
conn = ds.getConnection();
try {
stmt = conn.createStatement();
try {
// récupération des noms des colonnes de la table
// et sont type de données
String query = "SELECT COLUMN_NAME," + " data_type FROM INFORMATION_SCHEMA.COLUMNS" + " where TABLE_NAME='" + tableName + "'";
resultSet = stmt.executeQuery(query);
while (resultSet.next()) {
colomneNameTemp = resultSet.getString("COLUMN_NAME");
if (!isToIgnore(colomneNameTemp)) {
TablesColumn tablesColumn = new TablesColumn();
tablesColumn.setColumnName(colomneNameTemp);
tablesColumn.setColumnType(resultSet.getString("data_type"));
tablesColumns.add(tablesColumn);
}
}
// récupération des données de la table
query = "SELECT * FROM " + tableName;
resultSet = stmt.executeQuery(query);
while (resultSet.next()) {
Table table = new Table();
ArrayList<LineOfData> lineOfDatas = new ArrayList<>();
for (TablesColumn tablesColumn : tablesColumns) {
LineOfData lineOfData = new LineOfData();
lineOfData.setColomne(tablesColumn.getColumnName());
if (tablesColumn.getColumnType().equalsIgnoreCase("integer")) {
lineOfData.setValue("" + resultSet.getInt(tablesColumn.getColumnName()));
}
if (tablesColumn.getColumnType().equalsIgnoreCase("character varying")) {
lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
}
if (tablesColumn.getColumnType().equalsIgnoreCase("character")) {
lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
}
if (tablesColumn.getColumnType().equalsIgnoreCase("text")) {
lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
}
if (tablesColumn.getColumnType().equalsIgnoreCase("timestamp with time zone")) {
lineOfData.setValue("" + resultSet.getDate(tablesColumn.getColumnName()));
}
if (tablesColumn.getColumnType().equalsIgnoreCase("timestamp without time zone")) {
lineOfData.setValue("" + resultSet.getDate(tablesColumn.getColumnName()));
}
if (tablesColumn.getColumnType().equalsIgnoreCase("boolean")) {
lineOfData.setValue("" + resultSet.getBoolean(tablesColumn.getColumnName()));
}
if (tablesColumn.getColumnType().equalsIgnoreCase("USER-DEFINED")) {
lineOfData.setValue(resultSet.getString(tablesColumn.getColumnName()));
}
lineOfDatas.add(lineOfData);
}
table.setLineOfDatas(lineOfDatas);
tableList.add(table);
}
} finally {
stmt.close();
}
} finally {
conn.close();
}
} catch (SQLException ex) {
Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
}
}
return tableList;
}
Aggregations