UserInfoDao

package com.zx.services;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;

import com.zx.pojos.UserBean;
import com.zx.utils.HibernateUtil;
import com.zx.utils.Util;

public class UserInfoDao
{
    public boolean isBuildingExistEspectThis ( UserBean udb )
    {
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        Criteria crit = hibSession.createCriteria(UserBean.class);
        crit.add(Expression.eq("building", udb.getBuilding()));
        crit.add(Expression.ne("id", new Long(udb.getId())));
        UserBean[] users = (UserBean[]) Util.userBeanArrayCovert(crit.list()
                .toArray());
        tx.commit();
        if ( users == null || users.length == 0 ) return false;
        else return true;
    }

    //OK
    public synchronized boolean addUser ( UserBean udb )
    {
        if ( udb == null ) return false;
        this.sumFee(udb);
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        hibSession.save(udb);
        tx.commit();
        return true;
    }
   
    private void sumFee(UserBean udb)
    {
        double fee = 0.0d;
        fee = udb.getFeeItems()+udb.getFeeMG()+udb.getFeeSD()+udb.getFeeWG();
        udb.setFee(fee);
    }

    //OK
    public synchronized boolean delUser ( long id )
    {
        UserBean udb = this.getUserById(id);
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        hibSession.delete(udb);
        tx.commit();
        return true;
    }


    // OK
    public int getTotalCount ( )
    {
        String sql = "select count(*) from UserBean as user";
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        Query q = hibSession.createQuery(sql);
        List re = q.list();
        String str = re.get(0).toString();
        int count = Integer.valueOf(str).intValue();
        tx.commit();
        return count;
    }

    // OK
    public UserBean getUserById ( long id )
    {
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        Criteria crit = hibSession.createCriteria(UserBean.class);
        crit.add(Expression.eq("id", new Long(id)));
        UserBean[] users = (UserBean[]) Util.userBeanArrayCovert(crit.list()
                .toArray());
        tx.commit();
        if ( users == null || users.length == 0 ) return null;
        return users[0];
    }

    // OK
    public UserBean[] getUsers ( int start , int size )
    {
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        Criteria crit = hibSession.createCriteria(UserBean.class);
        crit.setFirstResult(start);
        crit.setMaxResults(size);
        crit.addOrder(Order.desc("id"));
        UserBean[] users = (UserBean[]) Util.userBeanArrayCovert(crit.list()
                .toArray());
        tx.commit();
        return users;
    }

    // OK
    public UserBean[] getUsers ( int start , int size , String type ,
            String text )
    {
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        Criteria crit = hibSession.createCriteria(UserBean.class);
        crit.add(Expression.like(type, text));
        crit.setFirstResult(start);
        crit.setMaxResults(size);
        crit.addOrder(Order.desc("id"));
        UserBean[] users = (UserBean[]) Util.userBeanArrayCovert(crit.list()
                .toArray());
        tx.commit();
        return users;
    }

    public UserBean[] getUsersByBuilding ( String buildName )
    {
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        Criteria crit = hibSession.createCriteria(UserBean.class);
        crit.add(Expression.eq("building", buildName));
        UserBean[] users = (UserBean[]) Util.userBeanArrayCovert(crit.list()
                .toArray());
        tx.commit();
        return users;
    }

    // OK
    public synchronized boolean setUser ( UserBean udb )
    {
        this.sumFee(udb);
        Session hibSession = HibernateUtil.getSessionFactory()
                .getCurrentSession();
        Transaction tx = hibSession.beginTransaction();
        hibSession.update(udb);
        tx.commit();
        return true;
    }

    public static void main ( String[] a ) throws Exception
    {
        UserInfoDao ui = new UserInfoDao();
        System.out.println(">>>"+ui.getUserById(4).getAddress());
        for ( int i = 1 ; i < 1 ; i++ )
        {
            UserBean ub = new UserBean();
            //ub.setId( 2 );
            ub.setAddress("丹佛小镇" + "11-110" + i);
            ub.setCompany("zte");
            ub.setComPhone("87382" + i);
            ub.setName("Sybil" + i);
            ub.setBuilding("丹佛小镇");
            ub.setHouseno("11-110" + i);
            ub.setMobilePhone("13813042204");
            ub.setEmail("[email protected]");
            ub.setSex("男");
            ub.setQq("10" + i + "12323");
            ub.setMobilePhone("[email protected]");
            ub.setHomePhone("123213213");
            ub.setNameEn("Sybil");
            ui.addUser(ub);
        }
    }
}

你可能感兴趣的:(sql,Hibernate,UI)