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

📄 usermanager.java

📁 尚学堂DRP项目源代码.很经典的东东.希望对大家有用.采用STRIST.HIBERNATE.SPRING
💻 JAVA
字号:
package com.bjsxt.drp.sysmgr;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

import com.bjsxt.drp.util.DB;
import com.bjsxt.drp.util.PageModel;

/**
 * 对用户完成增删改查的类
 * @author Administrator
 *
 */
public class UserManager {
	
//	private static UserManager instance;
//	
//	private UserManager() {
//		
//	}
//	
//	public static synchronized UserManager getInstance() {
//		if (instance == null) {
//			instance = new UserManager();
//		}
//		return instance;
//	}
	
	private static UserManager instance = new UserManager();

	private UserManager() {		
	}
	
	public static UserManager getInstance() {
		return instance;
	}
	
	/**
	 * 增加用户
	 * @param user user用户对象
	 */
	public void addUser(User user) {
		String sql ="insert into t_user(user_id, user_name, password, contact_tel, email, create_date) " +
				"values(?, ?, ?, ?, ?, ?)";
		Connection conn = null;
		PreparedStatement pstmt = null;
		try {
			conn = DB.getConn();
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, user.getUserId());
			pstmt.setString(2, user.getUserName());
			pstmt.setString(3, user.getPassword());
			pstmt.setString(4, user.getContactTel());
			pstmt.setString(5, user.getEmail());
			pstmt.setTimestamp(6, new Timestamp(user.getCreateDate().getTime()));
			pstmt.executeUpdate();
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			DB.closeStmt(pstmt);
			DB.closeConn(conn);
		}
	}
	
	/**
	 * 根据用户代码查询
	 * @param userId 用户代码
	 * @return user对象
	 */
	public User findUserById(String userId) {
		String sql = "select * from t_user where user_id=?"; 
		System.out.println("findUserById()==>>sql=" + sql);
		User user = null;
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try  {
			conn = DB.getConn();
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, userId);
			rs = pstmt.executeQuery();
			if (rs.next()) {
				user = new User();
				user.setUserId(rs.getString("user_id"));
				user.setUserName(rs.getString("user_name"));
				user.setPassword(rs.getString("password"));
				user.setContactTel(rs.getString("contact_tel"));
				user.setEmail(rs.getString("email"));
				user.setCreateDate(rs.getTimestamp("create_date"));
			}
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			DB.closeRs(rs);
			DB.closeStmt(pstmt);
			DB.closeConn(conn);
		}
		return user;
	}
	
	/**
	 * 分页查询所有的用户数据
	 * @param pageNo  第几页
	 * @param pageSize 每页显示多少条
	 * @return pageModel对象
	 */
	public  PageModel findAllUser(int pageNo, int pageSize) {
		PageModel pageModel = null;
		String sql ="select * from t_user where user_id <> 'root' order by user_id " +
				"limit " + (pageNo - 1) * pageSize + ", " + pageSize;
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			conn = DB.getConn();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			List userList = new ArrayList();
			while (rs.next()) {
				User user = new User();
				user.setUserId(rs.getString("user_id"));
				user.setUserName(rs.getString("user_name"));
				user.setPassword(rs.getString("password"));
				user.setContactTel(rs.getString("contact_tel"));
				user.setEmail(rs.getString("email"));
				user.setCreateDate(rs.getTimestamp("create_date"));
				userList.add(user);
			}
			int totalRecords = getTotalRecords(conn);
			pageModel = new PageModel();
			pageModel.setPageNo(pageNo);
			pageModel.setPageSize(pageSize);
			pageModel.setTotalRecords(totalRecords);
			pageModel.setList(userList);
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			DB.closeRs(rs);
			DB.closeStmt(stmt);
			DB.closeConn(conn);
		}
		return pageModel;
	} 
	
	/**
	 * 返回所有的用户数
	 * @param conn 
	 * @return 记录数
	 */
	private int getTotalRecords(Connection conn) {
		String sql = "select count(*) from t_user where user_id <> 'root'";
		int totalRecords = 0;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			if (rs.next()) {
				totalRecords = rs.getInt(1);
			}
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			DB.closeRs(rs);
			DB.closeStmt(stmt);
		}
		return totalRecords;
	}
	
	/**
	 * 根据用户ID删除用户
	 * @param userId userId
	 */
	public void deleteUserById(String userId) {
		String sql = "delete from t_user where user_id=?";
		Connection conn = null;
		PreparedStatement pstmt = null;
		try {
			conn = DB.getConn();
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, userId);
			pstmt.executeUpdate();
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			DB.closeStmt(pstmt);
			DB.closeConn(conn);
		}
	}
	
	/**
	 * 根据UserId的集合进行删除
	 * @param userIds userId的集合
	 * 
	 * 可以把jsp中的userId数组传过来,形成如下SQL:
	 * delete from t_user where user_id in ('a0001', 'a0002')
	 */
	public void deleteUserByIds(String[] userIds) {
		
	}
	
}

⌨️ 快捷键说明

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