Caros bom dia.
Estou iniciando meus estudos em java com xml e necessito desenvolver uma rotina de backup e restore de banco dados em xml.
Pesquisando na web encontrei a API XSTREAM estou tentando utilizar essa API para gerar schema do ORACLE.
Minha ideia e gerar um XML com seguintes configurações:
. . . . . . . .Mais ao inves disso esta gerando a seguinte saida em XML:
ATM ATM_CODIGOS_DDD ATM CATEGORIAS ATM ENTRANTE_DIARIO ATM ENTRANTE_NIVEL_1 ATM ENTRANTE_NIVEL_1_MENSAL ATM ENTRANTE_NIVEL_2 ATM ENTRANTE_NIVEL_2_MENSAL ATM ENTRANTE_NIVEL_3 ATM ENTRANTE_NIVEL_3_MENSALCLASSES EM JAVA:
package schema;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.thoughtworks.xstream.XStream;
public class Main {
public static void main(String[] args) {
Connection connection = null;
try{
Connection conn = ConnectionMaker.getInstance(“cce”, “Cce”, “GTI2”, “UXRJOCP2”);
String query = "Select distinct owner,table_name from all_tables";
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
ListaDatabase lb = new ListaDatabase();
while(rs.next()){
DataBase db = new DataBase();
Table tb = new Table();
db.setDataBase(rs.getString(1));
tb.setTableName(rs.getString(2));
db.add(tb);
lb.add(db);
}
XStream xstream = new XStream();
xstream.addImplicitCollection(ListaDatabase.class,"databases");
xstream.alias("Schemas",ListaDatabase.class);
xstream.alias("DataBase",DataBase.class);
String xml = xstream.toXML(lb);
System.out.println(xml);
stmt.close();
rs.close();
conn.close();
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
----------------------------------------------------------------//-----------------------------------------------------------
package schema;
import java.sql.Connection;
import java.sql.DriverManager;
import oracle.jdbc.driver.OracleDriver;
public class ConnectionMaker {
public static Connection getInstance(String user, String password, String sid, String url) throws Exception{
DriverManager.registerDriver(new OracleDriver());
Connection conn = DriverManager.getConnection(“jdbc:oracle:thin:@” + url + “:1521:” + sid, user, password);
conn.setAutoCommit(false);
return conn;
}
public static Connection getInstance(String user, String password, String sid) throws Exception{
return getInstance(user, password, sid, “localhost”);
}
}
----------------------------------------------------------------//-----------------------------------------------------------
package schema;
import java.util.ArrayList;
import java.util.List;
public class DataBase {
private String dataBaseName;
private List