Package cm.dpassyann.speedDating.model.user.dao.impl

Source Code of cm.dpassyann.speedDating.model.user.dao.impl.UserDaoImpl

/**
*
*/
package cm.dpassyann.speedDating.model.user.dao.impl;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.springframework.stereotype.Service;

import cm.dpassyann.speedDating.model.user.UserConstant;
import cm.dpassyann.speedDating.model.user.bean.User;
import cm.dpassyann.speedDating.model.user.dao.IUserDao;

/**
*
* Pour le projet : AmourMeZam
* @author deungoueyann
* @description cette classe permet d'implémenter les différentes méthode CRUD pour une
* entité
* @date fait le : 20 nov. 2012
*/
@Service
public class UserDaoImpl implements IUserDao{

  @SuppressWarnings("deprecation")
  private SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();


  @Override
  public Long addUser(User user) {

    Session session = sessionFactory.openSession();
    session.beginTransaction();
    session.save(user);
    session.getTransaction().commit();
    session.close();

    return user.getId();
  }


  @Override
  public List<User> getAll() {

    // Retrieve session from Hibernate
    Session session = sessionFactory.openSession();
    // Create a Hibernate query (HQL)
    //Query query = session.createQuery("FROM  User");
    Query query = session.getNamedQuery(UserConstant.USER_GET_ALL_QUERY);

    // Retrieve all
    @SuppressWarnings("unchecked")
    List<User> users = (ArrayList<User>)query.list();
    session.close();

    return  users;
  }

  @Override
  public User get(Long id) {
    // Retrieve session from Hibernate
    Session session = sessionFactory.openSession();
    // Retrieve existing person first
    User user = (User) session.get(User.class, id);

    session.close();
    return user;
  }


  @Override
  public User isExist(String login, String password) {
    // Retrieve session from Hibernate
    Session session = sessionFactory.openSession();

    Query query = session.getNamedQuery(UserConstant.USER_CONNECTION_QUERY)
        .setString("username", login).setString("password", password);
    @SuppressWarnings({ "unchecked" })
    List<User> users =  (ArrayList<User>)query.list();
   
    if(users != null && users.size()==1){
      return users.get(0);
    }
   
    return null;
  }
  /* 
  public static void main (String [] arg){

    Address adr = new Address();
    Address adr2 = new Address();
    User u1 = new User();
    User u2 = new User();
   
    ConnectionParameter p1 = new ConnectionParameter();
    ConnectionParameter p2 = new ConnectionParameter();
   
    p1.setPassword("Nganknoella89");
    p1.setUsername("titi");
   
    p2.setPassword("deungoue");
    p2.setUsername("toto");

    u1.setAddress(adr);
    u1.setBirthday(new Date());
    u1.setEmail("titi@gmail.com");
    u1.setActived(false);
    u1.setParameter(p1);

    adr2.setCity("brest");
    adr2.setComments("");
    adr2.setNumeroRue(5);
    adr2.setStreet("Rue du commandant Drogou");
    adr2.setZipCode(29200);
   

    u2.setAddress(adr2);
    u2.setBirthday(new Date());
    u2.setEmail("toto@gmail.com");
    u2.setActived(false);
    u2.setParameter(p2);


    UserDaoImpl daoImpl = new UserDaoImpl();
    daoImpl.addUser(u1);
    daoImpl.addUser(u2);
    ArrayList<User> users = (ArrayList<User>)daoImpl.getAll();
    for(User user : users){
      System.out.println(user);
    }

    /*try {
      Socket client = new Socket("127.0.0.1", 4444);
      PrintWriter writer = new PrintWriter(client.getOutputStream(), true);

      String message = "Hello Yann Chou\n";

      writer.write(message);
      writer.flush();
      writer.close();

    } catch (Exception e) {
      e.printStackTrace();
    }
   
  }
//*/

}
 
TOP

Related Classes of cm.dpassyann.speedDating.model.user.dao.impl.UserDaoImpl

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.