Package com.activesession.tests

Source Code of com.activesession.tests.Test

package com.activesession.tests;

import java.io.ObjectInputStream.GetField;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.persistence.Column;

import com.mysql.jdbc.UpdatableResultSet;

public class Test {
  public static String makeQuery(List<String> listOfColumnsNames, List<Object> listOfParameters, String tableName){
    StringBuilder columns = new StringBuilder();
    StringBuilder parameters = new StringBuilder();
    String query = null;
   
    for(String string : listOfColumnsNames){
      columns.append(string + ",");
    }
   
    for(Object object : listOfParameters){
      parameters.append ("'" + object + "'" + ",");
    }
   
    parameters.deleteCharAt(parameters.length() - 1);
   
    columns.deleteCharAt(columns.length() - 1);
   
    query = "INSERT " + "INTO " + tableName +  " ( " + columns.toString() + " ) " + " VALUES " + "( " + parameters.toString() + " )" ;
   
    return query;
  }
 
  public static List<Object> getData(){
    java.sql.Connection connect = null;
    java.sql.PreparedStatement prepareteState = null;
    ResultSet resultSet = null;
    java.sql.Statement statement = null;
    List<Object> listOfData = new ArrayList<Object>();
   
    try {
      Class.forName("com.mysql.jdbc.Driver");
      connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
      String query = "SELECT * FROM T_PERSON WHERE ID = 2";
      prepareteState = connect.prepareStatement(query);
       resultSet = prepareteState.executeQuery();
     
     
   
      int i = 0;
      while(resultSet.next()){
        listOfData.add(resultSet.getInt(1));
        listOfData.add(resultSet.getString(2));
        listOfData.add(resultSet.getString(3));
       
      }
     
    } catch (Exception e) {
      // TODO: handle exception
    }
   
   
    return listOfData;
   
  }
 
  public static String updateQuery(List<String> listOfColumnNames, List<Object> listOfParameters, String TableName){
    String query = null;
    StringBuilder queryBuilder = new StringBuilder();
    String id = null;
   
    if(TableName != null && listOfColumnNames != null && listOfParameters != null){
      if(listOfColumnNames.size() != 0 && listOfParameters.size() != 0){
       
        for(int i =0; i<=listOfColumnNames.size() -1; i++){
          if(listOfColumnNames.get(i).equals("ID")){
            id = listOfColumnNames.get(i) + " = " + listOfParameters.get(i);
          }else{
            queryBuilder.append(listOfColumnNames.get(i) + " = " + listOfParameters.get(i) + ",");
          }
         
        }
       
        queryBuilder.deleteCharAt(queryBuilder.length() - 1);
       
        if(id != null){
          query = "UPDATE " + TableName + " SET " + queryBuilder.toString() + " WHERE " + id ;
        }
      }
    }
    return query;
  }
 
  <T>  T find (Class<T> entityClass, Object primaryKey){
    T t = null;
    try {
      t = entityClass.newInstance();
    } catch (InstantiationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IllegalAccessException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
   
    return t;
  }
 
  public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SecurityException, NoSuchFieldException {
    StringBuilder getBuilder = new StringBuilder();
    StringBuilder setBuilder = new StringBuilder();
     
    List<String> getMethods = new ArrayList<String>();
    List<String> columnNames = new ArrayList<String>();
    HashMap<String, String> methodNameAndFieldName = new  HashMap<String, String>();
    HashMap<String, String> fieldNameAndColumnName = new  HashMap<String, String>();
    HashMap<String, Object> data = new HashMap<String, Object>();
   
    data.put("ADDRESS", "mladost2");
    data.put("NAME", "koki");
    data.put("ID", 1);
   
    Class c = Person.class;
   
    Class columnClass = Class.forName("javax.persistence.Column");
   
    Class col = Class.forName(c.getName());
   
    Method m[] = c.getDeclaredMethods();
   
    Field f[] = c.getDeclaredFields();
    Person p = (Person) c.newInstance();
   
    for(int i =0; i<=f.length - 1 ; i++){
    //  System.out.println(f[i].getName());
      String cs = Character.toUpperCase(f[i].getName().charAt(0)) + f[i].getName().substring(1);
      getBuilder.append("get");
      getBuilder.append(cs);
      //System.out.println(getBuilder.toString());
      getMethods.add(getBuilder.toString());
      methodNameAndFieldName.put(getBuilder.toString(), f[i].getName());
     
      getBuilder.delete(0, getBuilder.length())
    }
   
    for(int y = 0; y<= m.length-1; y++){
      for(String string : getMethods){
        if(m[y].getName().equals(string)){
          System.out.println(m[y].getName() + "  " + string);
          Column column =  (Column) m[y].getAnnotation(columnClass);
          columnNames.add(column.name());
          if(methodNameAndFieldName.get(string) != null){
            fieldNameAndColumnName.put(methodNameAndFieldName.get(string), column.name());
          }
        }
      }
    }
   
    Person scs = (Person) c.newInstance();
    for(int x = 0; x<=f.length-1; x++ ){
      Field field = c.getDeclaredField(f[x].getName());
      field.setAccessible(true);
     
     
      field.set(scs ,data.get(fieldNameAndColumnName.get(f[x].getName())));
    }
     
   
  }
 
}
TOP

Related Classes of com.activesession.tests.Test

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.