Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package jdbssqlite;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.PrintStream;
- import java.sql.Connection;
- import java.sql.DatabaseMetaData;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- /**
- *
- * @author rikhi
- */
- public class JDBCSQLiteConnection {
- static Connection conn = null;
- static DatabaseMetaData dm = null;
- private ResultSet rs = null;
- static private final int STR_SIZE = 25;
- static String sql = "CREATE ?";
- static {
- try {
- conn = DBConnection.getConnection();
- } catch (SQLException e) {
- System.err.println("There was an error getting the connection: "
- + e.getMessage());
- } catch (ClassNotFoundException ex) {
- Logger.getLogger(JDBCSQLiteConnection. class.getName()).log(Level.SEVERE, null, ex);
- }
- try {
- dm = conn.getMetaData();
- } catch (SQLException e) {
- System.err.println("There was an error getting the metadata: "
- + e.getMessage());
- }
- }
- public static void printGeneralMetadata() throws SQLException {
- System.out.println("JDBC Driver: " + dm.getDriverName());
- System.out.println("Driver Version: " + dm.getDriverVersion());
- System.out.println("\n");
- }
- /* public static ArrayList getTablesMetadata() throws SQLException {
- String table[] = { "TABLE" };
- ResultSet rs = null;
- ArrayList tables = null;
- // receive the Type of the object in a String array.
- rs = dm.getTables(null, null, null, table);
- tables = new ArrayList();
- while (rs.next()) {
- tables.add(rs.getString("TABLE_NAME"));
- }
- return tables;
- }
- public static void getColumnsMetadata(ArrayList<String> tables)
- throws SQLException {
- ResultSet rs = null;
- // Print the columns properties of the actual table
- for (String actualTable : tables) {
- rs = dm.getColumns(null, null, actualTable, null);
- System.out.println("CREATE TABLE " + actualTable.toLowerCase()+"("+"");
- while (rs.next()) {
- System.out.println(rs.getString("COLUMN_NAME") + ", "
- + rs.getString("TYPE_NAME") + ", "+""
- //+ rs.getString("COLUMN_SIZE")+"
- );
- }
- System.out.println(");");
- System.out.println("\n");
- }
- }*/
- private String pad( String in ) {
- byte [] org_bytes = in.getBytes( );
- byte [] new_bytes = new byte[STR_SIZE];
- int upb = in.length( );
- if ( upb > STR_SIZE )
- upb = STR_SIZE;
- for ( int i = 0; i < upb; i++ )
- new_bytes[i] = org_bytes[i];
- for ( int i = upb; i < STR_SIZE; i++ )
- new_bytes[i] = ' ';
- return new String( new_bytes ); }
- public static ResultSet doQuery(String statement)
- {
- ResultSet rs = null;
- try
- {
- rs = conn.createStatement().executeQuery(statement);
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
- return rs;
- }
- public static void doQuery_1_a( )
- {
- ArrayList<String> tableNames = new ArrayList<String>();
- ArrayList<String>[] columnTypes;
- ArrayList<String>[] columnNames;
- try
- {
- DatabaseMetaData dbmd = conn.getMetaData();
- ResultSet rs = dbmd.getTables(null, null, "%", null);
- while (rs.next())
- tableNames.add(rs.getString(3));
- columnTypes = new ArrayList[tableNames.size()];
- columnNames = new ArrayList[tableNames.size()];
- for (int i = 0; i < tableNames.size(); i++)
- {
- //ResultSet primaryKeys = dm.getPrimaryKeys(null ,null,tableNames.get(i));
- //ResultSet exportedKeys = dm.getExportedKeys(null ,null,tableNames.get(i));
- //ResultSet importedKeys = dm.getImportedKeys(null ,null,tableNames.get(i));
- columnTypes[i] = new ArrayList<String>();
- columnNames[i] = new ArrayList<String>();
- rs = doQuery( "select * from " + tableNames.get(i));
- int numberOfColumns = rs.getMetaData().getColumnCount();
- for (int j = 1; j <= numberOfColumns; j++)
- {
- columnTypes[i].add(rs.getMetaData().getColumnTypeName(j));
- columnNames[i].add(rs.getMetaData().getColumnLabel(j));
- }
- while(rs.next())
- {
- System.out.print("INSERT INTO " + tableNames.get(i)+" VALUES(");
- for (int j = 1; j <= numberOfColumns; j++)
- {
- if (columnTypes[i].get(j-1).toString().equals("VARCHAR"))
- System.out.print('\'');
- System.out.print(rs.getString(j));
- if (columnTypes[i].get(j-1).toString().equals("VARCHAR"))
- System.out.print('\'');
- if(j==numberOfColumns)
- System.out.println(" );");
- else
- System.out.print(", ");
- }
- }
- /*System.out.print("CREATE TABLE " +tableNames.get(i) + " (" );
- for (int j = 1; j <= numberOfColumns; j++)
- {
- System.out.print(columnNames[i].get(j-1) + " "+ columnTypes[i].get(j-1));
- if (columnTypes[i].get(j-1).equals("VARCHAR") || columnTypes[i].get(j-1).equals("VARCHAR "))
- {
- System.out.print("("+rs.getMetaData().getPrecision(j)+")");
- }
- if(j==numberOfColumns)
- {
- String primaryKey = ", primary key(";
- while (primaryKeys.next())
- {
- primaryKey += primaryKeys.getString("COLUMN_NAME");
- primaryKey += ",";
- }
- primaryKey = primaryKey.substring(0,primaryKey.length() - 1);
- primaryKey += ")";
- System.out.print(primaryKey);
- while(importedKeys.next())
- {
- System.out.print(",");
- System.out.print(" foreign key(" + importedKeys.getString("FKCOLUMN_NAME") + ")");
- System.out.print(" references " + importedKeys.getString("PKTABLE_NAME") + "(" +
- importedKeys.getString("PKCOLUMN_NAME") + ")");
- }
- System.out.println(");");
- }
- else
- System.out.print(", ");
- }*/
- }
- }
- catch (Exception ex)
- {ex.printStackTrace();}
- }
- public static void main(String[] args){
- try{
- printGeneralMetadata();
- //getColumnsMetadata(getTablesMetadata());
- doQuery_1_a( );
- }catch(SQLException e){
- System.err.println("Problem");
- }
- }
- }
- /* try {
- Class.forName("org.sqlite.JDBC");
- String dbURL = "jdbc:sqlite:D:/downloads/University.db";
- Connection conn = DriverManager.getConnection(dbURL);
- DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
- if (conn != null) {
- System.out.println("Connected to the database");
- System.out.println("Driver name: " + dm.getDriverName());
- System.out.println("Driver version: " + dm.getDriverVersion());
- System.out.println("Product name: " + dm.getDatabaseProductName());
- System.out.println("Product version: " + dm.getDatabaseProductVersion());
- conn.close();
- }
- } catch (ClassNotFoundException ex) {
- ex.printStackTrace();
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement