JavaWeb不用Ajax用request,response的分页

dao包下Userdao.java代码package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import DBUtils.DBUtils;import DBUtils.PageBean;import entity.User;public ..
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
dao包下Userdao.java代码

package dao;

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

import DBUtils.DBUtils;
import DBUtils.PageBean;
import entity.User;


public class Userdao {
   
	
	//JDBC, JDBCTemplate(spring)
	private Connection conn;
	private PreparedStatement ps;
	private ResultSet rs;
	
	//处理SQL1:统计SQL
	public String countSQL(String sql) {
     
			//"select * from userRegist"
			//"select * from userRegist where username like '%"+ key +"%'"
		return "select count(*) from ("+ sql +") as a";
	}
	
	//处理SQL2: 分页
	public String addLimit(String sql, PageBean pageBean) {
   
		//"select * from userRegist"
		//"select * from userRegist where username like '%"+ key +"%'"
		return sql + " limit "+ pageBean.getStart() +","+ pageBean.getPageSize();
	}
	
	
	
	
	
	
	
	
	
	
	/**
	 * 查询用户表中所有记录
	 * 
	 */
	public List<User> getAllUser(PageBean pageBean){
   
		String sql = "select * from userRegist";
		List<User> users = new ArrayList<>();
		try {
   
			conn = DBUtils.getConnection();
			
			//执行统计总记录数的sql
			String sql1 = countSQL(sql); //"select count(*) from ("+ sql +") as a"
			ps = conn.prepareStatement(sql1);
			rs = ps.executeQuery();
			if(rs.next()) {
   
				pageBean.setTotalSize((int)rs.getLong(1));  //获得总记录数
			}
			
			//执行分页的sql
			String sql2 = addLimit(sql, pageBean);
			ps = conn.prepareStatement(sql2);
			rs = ps.executeQuery();
			
			
			while(rs.next()) {
   
				//1.实例化一个对象
				User user = new User();
				//2.为对象赋值
				user.setId(rs.getInt("id"));
				user.setUsername(rs.getString("username"));
				user.setPassword(rs.getString("password"));
				user.setCity(rs.getString("city"));
				user.setEmail(rs.getString("email"));
				user.setGender(rs.getBoolean("gender"));
				
				//获得表中兴趣字段
				String str = rs.getString("hobby");
				//按"|"分割字符串
				String[] sp = str.split("\\|");
				
				user.setHobby(sp);
				
				user.setNickname(rs.getString("nickname"));
				user.setResume(rs.getString("resume"));
				//3.将对象添加到集合
				users.add(user);
			}
			
		} catch (Exception e) {
   
			e.printStackTrace();
		} finally {
   
			DBUtils.close(conn, ps, rs);
		}
		return users;
	}
	

	
	
	/**
	 * 搜索功能:模糊查询
	 * @return
	 */
	public List<User> searchUserByKey(String key, PageBean pageBean){
   
		String sql = "select * from userRegist where username like '%"+ key +"%'";
		List<User> users = new ArrayList<>();
		
		try {
   
			conn = DBUtils.getConnection();
			
			
			//执行统计总记录数的sql
			String sql1 = countSQL(sql); 
			ps = conn.prepareStatement(sql1);
			rs = ps.executeQuery();
			if(rs.next()) {
   
				pageBean.setTotalSize((int)rs.getLong(1));  //获得总记录数
			}
			
			//执行分页的sql
			String sql2 = addLimit(sql, pageBean);
			ps = conn.prepareStatement(sql2);
			rs = ps.executeQuery();
			
			
			while(rs.next()) {
   
				//1.实例化一个对象
				User user = new User();
				//2.为对象赋值
				user.setId(rs.getInt("id"));
				user.setUsername(rs.getString("username"));
				user.setPassword(rs.getString("password"));
				user.setCity(rs.getString("city"));
				user.setEmail(rs.getString("email"));
				user.setGender(rs.getBoolean("gender"));
				
				//获得表中兴趣字段
				String str = rs.getString("hobby");
				//按"|"分割字符串
				String[] sp = str.split("\\|");
				
				user.setHobby(sp);
				
				user.setNickname(rs.getString("nickname"));
				user.setResume(rs.getString("resume"));
				//3.将对象添加到集合
				users.add(user);
			}
			
		} catch (Exception e) {
   
			// TODO: handle exception
			e.printStackTrace();
		} finally {
   
			DBUtils.close(conn, ps, rs);
		}
		return users;
	}

	/**
	 * 根据ID查询用户表中记录
	 * 
	 */
	public User getUserById(Integer id){
   
		String sql = "select * from userRegist where id="&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值