⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 himessageadminfuncs.java

📁 运用hibernate技术 实现的留言板
💻 JAVA
字号:
/**
 * 
 */
package com.tiandinet.HiMessage;

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

import java.util.Iterator;
import java.util.List;

import com.tiandinet.hibernate.HibernateUtil;
import com.tiandinet.util.Password;

/**
 * @author Meng Yang
 *
 */
public class HiMessageAdminFuncs {
	
	/**
	 * Constructor
	 *
	 */
	public HiMessageAdminFuncs() {
	}
	
	/**
	 * Login
	 * @param uName, uPass
	 * @return boolean
	 */
	public boolean adminLogin(String uName, String uPass) {
		boolean loginStatus = false;
		if (uName.equals("") 
			|| uName == null 
			|| uPass.equals("") 
			|| uPass == null) {
			loginStatus = false;
		}
		else {
			try {
				Session session = HibernateUtil.getSession();
				
				String encryptPsw = Password.md5(uPass);
				
				//total = ((Integer)session.createQuery("select count(*) from Msg").iterate().next()).intValue();
				String loginSql = "select count(*) from Admin as admin where admin.Name=:name and admin.Psw=:psw";
				Query loginQuery = session.createQuery(loginSql);
				loginQuery.setString("name", uName);
				loginQuery.setString("psw", encryptPsw);
				loginQuery.setMaxResults(1);
				
				Iterator it = loginQuery.iterate();
				int total = ((Integer)it.next()).intValue();
				
				if (total == 1) {
					loginStatus = true;
				}
				
				HibernateUtil.closeSession();
			}
			catch (Exception he) {
				loginStatus = false;
			}
		}
		return loginStatus;
	}
	
	/**
	 * delete a message
	 * @param MsgId
	 * @return boolean
	 */
	public boolean deleteMessage(String MsgId) {
		boolean deleted = false;
		
		try {
			Session session = HibernateUtil.getSession();
			Transaction tx = session.beginTransaction();

			Criteria crit = session.createCriteria(Msg.class);
			crit.add(Expression.eq("MsgId",	MsgId));
			crit.setMaxResults(1);
			List msgList = crit.list();
	
			if (msgList.size() == 1) {
				Msg msgDelete = (Msg) msgList.get(0);
				session.delete(msgDelete);
				deleted = true;
			}
	
			tx.commit();
	
			HibernateUtil.closeSession();
		
			return deleted;
		}
		catch (Exception e) {
			return false;
		}
	}
	
	/**
	 * update configuration
	 * @param title, pageshow, show_ip
	 * @return boolean
	 */
	public boolean updateConfiguration(String title, String pageshow, String show_ip) {
		HiMessageFuncs hmf = new HiMessageFuncs();
		Conf conf = hmf.getConfiguration();
		if (conf == null) {
			conf = new Conf();
		}
		
		conf.setTitle(title);
		
		try {
			conf.setPageshow(new Integer(pageshow));
		}
		catch (NumberFormatException nfe) {
			conf.setPageshow(new Integer(20));
		}
		
		try {
			conf.setShowIp(new Integer(show_ip));
		}
		catch (NumberFormatException nfe) {
			conf.setShowIp(new Integer(1));
		}
		
		try {
			Session session = HibernateUtil.getSession();
			Transaction tx = session.beginTransaction();
			
			session.saveOrUpdate(conf);
			
			tx.commit();
			HibernateUtil.closeSession();
			
			return true;
		}
		catch (Exception e) {
			return false;
		}
	}
	
	/**
	 * update password
	 * @param username, oldPassword, newPassword
	 * @return int (0 => OK, 1 => Wrong oldPassword, 2 => Failed to update)
	 */
	public int updatePassword(String username, String oldPassword, String newPassword) {
		int result = 2;
		
		if (this.adminLogin(username, oldPassword)) {
			
			try {
				String encryptNewPassword = Password.md5(newPassword);
				
				String adminHql = "select admin from Admin as admin where admin.Name=:name";
				
				Session session = HibernateUtil.getSession();
				Query adminQuery = session.createQuery(adminHql);
				adminQuery.setString("name", username);
				adminQuery.setMaxResults(1);
				Iterator it = adminQuery.iterate();
				
				Admin admin = (Admin)it.next();
				
				admin.setPsw(encryptNewPassword);
				
				Transaction tx = session.beginTransaction();
				session.saveOrUpdate(admin);
				tx.commit();
				
				HibernateUtil.closeSession();
				
				result = 0;
			}
			catch (Exception e) {
				result = 2;
			}
		}
		else {
			result = 1;
		}
		return result;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -