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

📄 userservice.java

📁 一个较简单的论坛——中国精英论坛,是我的一个练习
💻 JAVA
字号:
package com.serviceImp;import java.util.*;import com.bean.*;import static com.common.HibernateSessionFactory.getSession;import java.sql.*;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import com.common.*;public class UserService {	// 工厂方法:提供对业务逻辑层操作的对象	public static UserService getUserService() {		return new UserService();	}	// 按照id加载	public List<User> load(Long id) {		List<User> subList = new ArrayList<User>();		Session session = getSession();		Transaction trans = session.beginTransaction();		User user = (User) session.get(User.class, id);		if (user == null) {			trans.commit();			session.close();			return subList;		}		Connection conn = session.connection();		addTime(user, conn);		subList.add(user);		trans.commit();		session.close();		return subList;	}	// 为某一user对象初始化时间属性	public void addTime(final User user, Connection conn) {		JDBCTemplate temp = new JDBCTemplate();		// 借助session获得连接对象		String sql = "select timestr from zhao_user_tbl where id=?";		temp.query(sql, new PreparedStatementSetter() {			public void setter(PreparedStatement pstmt) throws SQLException {				pstmt.setLong(1, user.getId());			}		}, new Handler() {			public void handler(ResultSet rs) throws SQLException {				if (rs.next()) {					// 完成对注册时间的初始化					user.setTimeStr(rs.getTimestamp(1).toLocaleString());				}			}		}, conn);	}	public List<User> load(String userName, String userPwd) {		// 登录时使用		Session session = getSession();		Transaction trans = session.beginTransaction();		Query query = session				.createQuery("from com.bean.User where userName=:name and userPwd=:pwd");		query.setString("name", userName);		query.setString("pwd", userPwd);		List<User> list = query.list();		if (list.size() == 0) {			trans.commit();			session.close();			return new ArrayList<User>();		}		User user = (User) list.get(0);		// 需要初始化时间		Connection conn = session.connection();		addTime(user, conn);		trans.commit();		session.close();		return list;	}	// 注册时使用:要求用户名保证唯一	public boolean add(String userName, String userPwd) {		Session session = getSession();		Transaction trans = session.beginTransaction();		// 检验用户名是否唯一		Query query = session				.createQuery("from com.bean.User where username=:name ");		query.setString("name", userName);		List list = query.list();		if (list.size() != 0) {			trans.commit();			session.close();			return false;		}		User user = new User();		user.setUserName(userName);		user.setUserPwd(userPwd);		// 添加		session.save(user);		trans.commit();		session.close();		return true;	}	//添加照片和城市	public boolean add(User user,String city,String img){		Session session = getSession();		Transaction trans = session.beginTransaction();		user.setCity(city);		user.setImg(img);		session.save(user);		trans.commit();		session.close();			return true;	}	// 更新的时候考虑用户命的“唯一性”	public boolean update(Long id, String newUserName, String newUserPwd,			String newCity, String newImg, int newCent) {		Session session = getSession();		Transaction trans = session.beginTransaction();		// (1)检查id对应的user是否存在		User user = (User) session.get(User.class, id);		if (user == null) {			trans.commit();			session.close();			return false;		}		// (2)检查新的用户名是否可以保证唯一性		Query query = session				.createQuery("from com.bean.User where id!=:id and username=:name ");		query.setLong("id", id);		query.setString("name", newUserName);		List list = query.list();		if (list.size() != 0) {			trans.commit();			session.close();			return false;		}		// (3)更新操作		user.setUserName(newUserName);		user.setUserPwd(newUserPwd);		user.setCity(newCity);		user.setImg(newImg);		user.setCent(newCent);		trans.commit();		session.close();		return true;	}	// 只对用户名和密码更新	public boolean update(User user, String newUserName, String newUserPwd) {		return update(user.getId(), newUserName, newUserPwd, user.getCity(),				user.getImg(), user.getCent());	}	// type占位,为了重载对城市及img的更新	public boolean update(User user, String newCity, String newImg, boolean type) {		return update(user.getId(), user.getUserName(), user.getUserPwd(),				newCity, newImg, user.getCent());	}	// 更新用户积分	public boolean update(User user, int newCent) {		return update(user.getId(), user.getUserName(), user.getUserPwd(), user				.getCity(), user.getImg(), user.getCent());	}	public static void main(String[] args) {		UserService service = UserService.getUserService();		//.out.println(service.add("mary", "123"));		 for(User user:service.load("qiang","789")){		 System.out.println(user);		 }		System.out.println(service.add("qiang","111"));		for (User user : service.load(2L))		System.out.println(user);	}}

⌨️ 快捷键说明

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