Advertisement
Guest User

Untitled

a guest
May 5th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.92 KB | None | 0 0
  1. /**
  2.  *
  3.  * @author pthreat
  4.  */
  5.  
  6. package Domain;
  7.  
  8. import java.sql.*;
  9. import java.util.Iterator;
  10. import java.util.ArrayList;
  11.  
  12. public class Db {
  13.  
  14.     private static Db instance=null;
  15.     private String database;
  16.     private String hostname;
  17.     private String username;
  18.     private String password;
  19.     private Connection connection;
  20.  
  21.  
  22.     private void Db(){
  23.  
  24.     }
  25.  
  26.     public static Db getInstance(String hostname, String username, String password, String database){
  27.  
  28.         if(instance!=null){
  29.  
  30.             instance = new Db ();
  31.  
  32.             try {
  33.  
  34.                 instance.setHostname(hostname);
  35.                 instance.setUsername(username);
  36.                 instance.setPassword(password);
  37.                 instance.setDatabase(database);
  38.                 instance.connect();
  39.  
  40.         }catch (Exception e){
  41.  
  42.             e.printStackTrace();
  43.  
  44.         }
  45.  
  46.             System.out.println("instance");
  47.         }
  48.  
  49.         return instance;
  50.  
  51.     }
  52.  
  53.     public void connect(){
  54.  
  55.         if(this.connection!=null){
  56.  
  57.             return;
  58.            
  59.         }
  60.  
  61.         try {
  62.  
  63.             DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
  64.             String connectStr = "jdbc:mysql://"+this.hostname+"/"+this.database;
  65.             this.connection = DriverManager.getConnection ( connectStr,this.username,this.password);
  66.  
  67.         } catch(SQLException e){
  68.  
  69.             e.printStackTrace();
  70.  
  71.         }
  72.  
  73.     }
  74.  
  75.     public ArrayList query(String sql){
  76.  
  77.         ArrayList array = new ArrayList();
  78.        
  79.         try{
  80.  
  81.             Statement s = this.connection.createStatement();
  82.             ResultSet rs = s.executeQuery(sql);
  83.  
  84.             int columns = 0;
  85.  
  86.             ResultSetMetaData rmd = rs.getMetaData();
  87.             columns = rmd.getColumnCount();
  88.  
  89.             while (rs.next()){
  90.  
  91.                 for(int i=0;i<columns;i++){
  92.  
  93.                     array.add(rs.getArray(i));
  94.  
  95.                 }
  96.                
  97.             }
  98.  
  99.         }catch (SQLException e){
  100.  
  101.             e.printStackTrace();
  102.  
  103.         }
  104.  
  105.         return array;
  106.  
  107.     }
  108.  
  109.     public static void main(String[] args){
  110.  
  111.         Db db = Db.getInstance("localhost:3306","root", "blah", "crap");
  112.  
  113.         ArrayList result;
  114.        
  115.         result = db.query("SELECT * FROM table");
  116.         Iterator iterator = result.iterator();
  117.        
  118.         while(iterator.hasNext()){
  119.  
  120.             System.out.println(iterator.toString());
  121.  
  122.         }
  123.  
  124.     }
  125.  
  126.     private void setConnection(Connection connection){
  127.         this.connection = connection;
  128.     }
  129.  
  130.     private Connection getConnection(){
  131.  
  132.        return  this.connection;
  133.        
  134.     }
  135.  
  136.  
  137.    /**
  138.     * @return the database
  139.     */
  140.    public String getDatabase() {
  141.       return database;
  142.    }
  143.  
  144.    /**
  145.     * @param database the database to set
  146.     */
  147.    public void setDatabase(String database) {
  148.       this.database = database;
  149.    }
  150.  
  151.    /**
  152.     * @return the hostname
  153.     */
  154.    public String getHostname() {
  155.       return hostname;
  156.    }
  157.  
  158.    /**
  159.     * @param hostname the hostname to set
  160.     */
  161.    public void setHostname(String hostname) {
  162.       this.hostname = hostname;
  163.    }
  164.  
  165.    /**
  166.     * @return the username
  167.     */
  168.    public String getUsername() {
  169.       return username;
  170.    }
  171.  
  172.    /**
  173.     * @param username the username to set
  174.     */
  175.    public void setUsername(String username) {
  176.       this.username = username;
  177.    }
  178.  
  179.    /**
  180.     * @return the password
  181.     */
  182.    public String getPassword() {
  183.       return password;
  184.    }
  185.  
  186.    /**
  187.     * @param password the password to set
  188.     */
  189.    public void setPassword(String password) {
  190.       this.password = password;
  191.    }
  192.  
  193.    @Override
  194.  
  195.    public String toString(){
  196.  
  197.         String info = "Db: "+this.database;
  198.         info += "Hostname: "+this.hostname;
  199.         info += "User: "+this.username;
  200.         info += "Password: "+this.password;
  201.  
  202.         return info;
  203.  
  204.    }
  205.  
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement