使用SSH完成條件及分頁查詢的主要程式碼
Dao層:
@Repository("empDao")
public EmpDaoImpl implements EmpDao{
@Resource(name="sessionFactory") private SessionFactory sessionFactory;
@Override public List<Emp> selectBynameordept(String name, int dept,int first,int fast) { StringBuffer sb = new StringBuffer(); sb.append("FROM Emp e where 1=1"); if(dept!=0){ sb.append(" and e.deptno="+dept+" "); } if(!"".equals(name)){ sb.append(" and e.empname LIKE '%"+name+"%' "); } Query query = sessionFactory.getCurrentSession().createQuery(sb.toString()); List<Emp> list =query.setFirstResult(first)//從查出來的資料中第幾個資料開始顯示 .setMaxResults(fast)//一次顯示多少條資料 .list();//轉換成List型別 return list; }
}
實現類:
package com.demo.controller;
import com.demo.dao.EmpDao;
import com.demo.pojo.Dept;
import com.demo.pojo.Emp;
import com.demo.service.EmpService;
import com.demo.util.Page;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Controller("addAction")
@Scope("prototype")
public class AddAction extends ActionSupport implements SessionAware,RequestAware,ApplicationAware {
@Resource
private EmpService empService;
private Map<String,Object> requset;
private Map<String,Object> session;
private Map<String,Object> application;
private Emp emp ;
private Page page ;
public Page getPage() {
return page;
}
public void setPage(Page page) {
this.page = page;
}
public Emp getEmp() {
return emp;
}
public void setEmp(Emp emp) {
this.emp = emp;
}
@Override
public void setApplication(Map<String, Object> map) {
this.application=map;
}
@Override
public void setRequest(Map<String, Object> map) {
this.requset=map;
}
@Override
public void setSession(Map<String, Object> map) {
this.session=map;
}
/**
* 條件查詢及分頁
* @return
*/
public String add(){
//查詢所有部門
List<Dept> depts = empService.selectDept();
//判斷emp是否等於傳過來得值
if("1".equals(emp.getEmpname())){
System.out.println(emp.getEmpname());
emp.setEmpname("");
emp.setDeptno(0);
}
page.setIs_rows(3);//每頁顯示多少條資料
page.setIs_page(page.getIs_page());//當前頁碼
int i = empService.selectAll(emp.getEmpname(), emp.getDeptno());//查詢此條件下有多少條資料
System.out.println("一共有"+i+"條資料");
page.setIs_allrow(i);//把總條數賦值給page
//查詢全部
System.out.println("姓名:"+emp.getEmpname()+",編號:"+emp.getDeptno());
List<Emp> list = empService.selectBynameordept(emp.getEmpname(), emp.getDeptno(), (page.getIs_page() - 1) * page.getIs_rows(), page.getIs_rows());
requset.put("pages",page);
requset.put("name",emp.getEmpname());
requset.put("depts",depts);
requset.put("Lists",list);
return "index";
}
}
相關文章
- 菜品條件分頁查詢
- SSH框架下的分頁查詢框架
- 【記錄】SSH分頁查詢功能
- mysql條件查詢MySql
- MongoDB查詢條件MongoDB
- SSH整合實現分頁查詢(兩種方式)
- 報表查詢條件的 N 種使用方式
- 資料庫的集合,分頁及約束條件資料庫
- 二分查詢的迴圈條件及指標終止位置問題指標
- Laravel 多條件查詢Laravel
- 寫一個“特殊”的查詢構造器 – (四、條件查詢:複雜條件)
- gorm 使用map實現in 條件查詢用法GoORM
- SpringBoot整合Jpa對資料進行排序、分頁、條件查詢和過濾Spring Boot排序
- MySQL的分頁查詢MySql
- SpringBoot Jpa多條件查詢Spring Boot
- AntDesignBlazor示例——列表查詢條件Blazor
- golang beego orm 查詢條件 or andGolangORM
- Javaweb-DQL-條件查詢JavaWeb
- 查詢條件封裝物件封裝物件
- mongodb條件查詢不等於MongoDB
- 【mybatis-plus】條件查詢MyBatis
- mybatis plus 使用LambdaQueryWrapper設定複雜的條件查詢MyBatisAPP
- 20240719資料庫關聯查詢、條件查詢資料庫
- 34. 過濾條件、多表查詢、子查詢
- Elasticsearch 分頁查詢Elasticsearch
- redis實現像關係型資料庫一樣按條件高效查詢分頁Redis資料庫
- SQL Server解惑——查詢條件IN中能否使用變數SQLServer變數
- Linq查詢之多個排序條件排序
- Linq兩個from查詢條件
- hyperf關聯模型條件查詢模型
- mysql拆分字串做條件查詢MySql字串
- 分庫分表後的分頁查詢
- mysql like查詢 - 根據多個條件的模糊匹配查詢MySql
- 關於sqlserver字元型別查詢條件區分大小寫SQLServer字元型別
- SQL-基礎語法 - 條件查詢 - 模糊查詢SQL
- 查詢條件和條數,先查詢兩條免費的,後面為vip
- 動態SQL-條件分頁SQL
- SqlServer儲存過程應用二:分頁查詢資料並動態拼接where條件SQLServer儲存過程