后台dao 接口与实现 NeUserDao

package cn.service.dao;

import java.util.List;

import cn.entity.NeUser;

/*
 * 用户表 DAO 接口
 * */
public interface NeUserDao {

	//后台登陆方法
	public int loginOfAdmin(String inputAdmin,String inputPass);

	//用户列表分页
	public List<NeUser> getNeUserByPage(int pageIndex, 
			int pageSize, int levelId,String userId );

	//获取数量
	public int getNeUserByCount(int levelId,String userId);

	//注销
	public int logoutUser(String logout);

	//查找用用户数据
	public NeUser select(String userId);

	//根据用户ID修改用户数据
	public int update(String username,String tel, String phone, String email, 
			String postalcode,String save, String city,String borough,String address,String updateName);

	//插入一条用户数据
	public int insert(String userId, String password, String username, String phone, int levelId);

	//ajaxUser验证
	public int ajaxUser(String userId);

}

 

package cn.service.dao.impl;

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

import cn.service.dao.BaseDao;
import cn.service.dao.NeUserDao;
import cn.entity.NeUser;

/*
 * 用户表 DAO 实现
 * */
public class NeUserDaoImpl extends BaseDao implements NeUserDao {
	Connection conn = null;//数据库连接  
	PreparedStatement pstmt = null;//数据库操作  
	ResultSet rs = null;//保存查询结果  

	//后台登陆方法
	public int loginOfAdmin(String inputAdmin, String inputPass) {
		String sql = "select count(*) from ne_user where " +
				"ne_user_id=? and " + 
				"ne_password=? " + 
				"and(ne_level_id=2 or ne_level_id=3)";
		conn=this.getConnection();
		int count = 0;
		try {
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, inputAdmin);
			pstmt.setString(2, inputPass);
			rs = pstmt.executeQuery();
			if(rs.next()){
				count = rs.getInt(1); 
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			this.closeAll(conn, pstmt, rs);
		}
		return count;
	}

	//用户列表分页
	public List<NeUser> getNeUserByPage(int pageIndex, 
			int pageSize, int levelId,String userId ){
		int start = (pageIndex - 1) * pageSize; // 上限  
		int end = pageIndex * pageSize; // 下限
		if(start>=1){
			start++;
		}
		List<NeUser> list = new ArrayList<NeUser>();
		NeUser item = null;
		conn = this.getConnection();
		if(levelId >0 && userId !=null){
			String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN " +
					"FROM (SELECT * FROM ne_user where ne_level_id=? " + 
					" and ne_user_id like ? " + 
					"order by ne_user.ne_user_id ASC) A) " + 
					" WHERE RN BETWEEN ? AND ?";
			try {
				pstmt = conn.prepareStatement(sql);
				pstmt.setInt(1, levelId);
				pstmt.setString(2, "%"+userId+"%");
				pstmt.setInt(3, start);
				pstmt.setInt(4, end);
				rs = pstmt.executeQuery();
				while(rs.next()){
					item = new NeUser(
							rs.getString(1),
							rs.getString(2),
							rs.getString(3),
							rs.getString(4),
							rs.getString(5),
							rs.getString(6),
							rs.getString(7),
							rs.getString(8),
							rs.getString(9),
							rs.getString(10),
							rs.getString(11),
							rs.getInt(12)
							);
					list.add(item);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return list;
		}else if(levelId>0 && userId ==null){
			String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN " +
					"FROM (SELECT * FROM ne_user where ne_level_id=? " + 
					"order by ne_user.ne_user_id ASC) A) " + 
					" WHERE RN BETWEEN ? AND ?";
			try {
				pstmt = conn.prepareStatement(sql);
				pstmt.setInt(1, levelId);
				pstmt.setInt(2, start);
				pstmt.setInt(3, end);
				rs = pstmt.executeQuery();
				while(rs.next()){
					item = new NeUser(
							rs.getString(1),
							rs.getString(2),
							rs.getString(3),
							rs.getString(4),
							rs.getString(5),
							rs.getString(6),
							rs.getString(7),
							rs.getString(8),
							rs.getString(9),
							rs.getString(10),
							rs.getString(11),
							rs.getInt(12)
							);
					list.add(item);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return list;
		}else if(userId!=null){
			String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN " +
					"FROM (SELECT * FROM ne_user where ne_user_id like ? " + 
					"order by ne_user.ne_user_id ASC) A) " + 
					" WHERE RN BETWEEN ? AND ?";
			try {
				pstmt = conn.prepareStatement(sql);
				pstmt.setString(1, "%"+userId+"%");
				pstmt.setInt(2, start);
				pstmt.setInt(3, end);
				rs = pstmt.executeQuery();
				while(rs.next()){
					item = new NeUser(
							rs.getString(1),
							rs.getString(2),
							rs.getString(3),
							rs.getString(4),
							rs.getString(5),
							rs.getString(6),
							rs.getString(7),
							rs.getString(8),
							rs.getString(9),
							rs.getString(10),
							rs.getString(11),
							rs.getInt(12)
							);
					list.add(item);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return list;
		}else{
			String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN " +
					"FROM (SELECT * FROM ne_user " + 
					"order by ne_user.ne_user_id ASC) A) " + 
					" WHERE RN BETWEEN ? AND ?";
			try {
				pstmt = conn.prepareStatement(sql);
				pstmt.setInt(1, start);
				pstmt.setInt(2, end);
				rs = pstmt.executeQuery();
				while(rs.next()){
					item = new NeUser(
							rs.getString(1),
							rs.getString(2),
							rs.getString(3),
							rs.getString(4),
							rs.getString(5),
							rs.getString(6),
							rs.getString(7),
							rs.getString(8),
							rs.getString(9),
							rs.getString(10),
							rs.getString(11),
							rs.getInt(12)
							);
					list.add(item);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return list;
		}
	}

	//获取数量
	public int getNeUserByCount(int levelId,String userId){
		int count = 0;
		conn = this.getConnection();
		if(levelId >0 && userId !=null){
			String sql = "SELECT count(*) FROM ne_user where ne_level_id=? " +
					" and ne_user_id like ?";
			try {
				pstmt = conn.prepareStatement(sql);
				pstmt.setInt(1, levelId);
				pstmt.setString(2, "%"+userId+"%");
				rs = pstmt.executeQuery();
				if(rs.next()){
					count = rs.getInt(1);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return count;
		}else if(levelId>0 && userId ==null){
			String sql = "SELECT count(*) FROM ne_user where ne_level_id=?";
			try {
				pstmt = conn.prepareStatement(sql);
				pstmt.setInt(1, levelId);
				rs = pstmt.executeQuery();
				if(rs.next()){
					count = rs.getInt(1);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return count;
		}else if(userId!=null){
			String sql = "SELECT count(*) FROM ne_user where  ne_user_id like ?";

			try {
				pstmt = conn.prepareStatement(sql);
				pstmt.setString(1, "%"+userId+"%");
				rs = pstmt.executeQuery();
				if(rs.next()){
					count = rs.getInt(1);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return count;
		}else{
			String sql = "SELECT count(*) FROM ne_user";
			try {
				pstmt = conn.prepareStatement(sql);
				rs = pstmt.executeQuery();
				if(rs.next()){
					count = rs.getInt(1);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				this.closeAll(conn, pstmt, rs);
			}
			return count;
		}
	}

	//注销
	public int logoutUser(String logout){
		String sql = "update ne_user " +
				"   set ne_level_id = 4 " + 
				" where ne_user_id = ?";
		return this.executeUpdate(sql, new  Object[]{
				logout
		}
				);
	}

	//查找用用户数据
	public NeUser select(String userId){
		String sql = "select ne_user_id, ne_password, ne_username, ne_tel, ne_phone, ne_email," +
				" ne_postalcode, ne_save, ne_city, ne_borough, ne_address," + 
				" ne_level_id from ne_user where ne_user_id=?";
		NeUser item = null;
		conn = this.getConnection();
		try {
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, userId);
			rs = pstmt.executeQuery();
			if(rs.next()){
				item = new NeUser(
						rs.getString(1),
						rs.getString(2),
						rs.getString(3),
						rs.getString(4),
						rs.getString(5),
						rs.getString(6),
						rs.getString(7),
						rs.getString(8),
						rs.getString(9),
						rs.getString(10),
						rs.getString(11),
						rs.getInt(12)
						);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			this.closeAll(conn, pstmt, rs);
		}
		return item;
	}

	//根据用户ID修改用户数据
	public int update(String username,String tel, String phone, String email, 
			String postalcode,String save, String city,String borough,String address,String updateName){
		String sql ="update ne_user " +
				"   set " + 
				"       ne_username = ?, " + 
				"       ne_tel = ?, " + 
				"       ne_phone = ?, " + 
				"       ne_email = ?, " + 
				"       ne_postalcode = ?, " + 
				"       ne_save = ?, " + 
				"       ne_city = ?, " + 
				"       ne_borough = ?, " + 
				"       ne_address = ? " + 
				" where ne_user_id = ?";
		return this.executeUpdate(sql, new  Object[]{
				username,
				tel, 
				phone, 
				email, 
				postalcode,
				save,
				city,
				borough,
				address,
				updateName
		}
				);
	}

	//插入一条用户数据
	public int insert(String userId, String password, String username, String phone, int levelId){
		String sql = "insert into ne_user " +
				"  (ne_user_id, ne_password, ne_username, ne_tel, " + 
				"  ne_phone, ne_email, ne_postalcode, " + 
				"  ne_save, ne_city, ne_borough, " + 
				"  ne_address, ne_level_id) " + 
				"values " + 
				"  (?, ?, ?, null, " + 
				"   ?, null, null, null, null, null, null, ?)";

		return this.executeUpdate(sql, new  Object[]{
				userId,
				password,
				username,
				phone,
				levelId
		}
				);
	}

	//ajaxUser验证
	public int ajaxUser(String userId){
		String sql = " select count(*) from ne_user where NE_USER_ID=? ";
		conn=this.getConnection();
		int count = 0;
		try {
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, userId);
			rs = pstmt.executeQuery();
			if(rs.next()){
				count = rs.getInt(1); 
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			this.closeAll(conn, pstmt, rs);
		}
		return count;
	}
}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值