iindexdao
package com.ucap.netcheck.dao;
import com.ucap.netcheck.combination.beans.indexcombinationbean;
import com.ucap.netcheck.common.page;
import com.ucap.netcheck.common.dao.genericdao;
import com.ucap.netcheck.entity.site;
/**
* @title: iindexdao.java
* @package com.ucap.netcheck.index.dao
* @description:
* @author zuoquan tu
* @date 2015-4-6 下午6:35:31
* @version v1.0
*/
public interface iindexdao {
/**
* queryjoinedactivity(通過這個方法實作擷取首頁的分頁資訊)
*
* @title: queryjoinedactivity
* @description: 通過這個方法實作擷取首頁的分頁資訊
* @param @param pageno 要查找的頁數
* @param @param pagerow 每頁顯示記錄數
* @param @param params 查找條件
* @param @return 設定檔案
* @return page<indexcombinationbean> 傳回首頁制定頁面的結果集的結果集
* @throws
*/
public page<indexcombinationbean> queryindexinfobypage(
int pageno,int pagerow, object... params);
}
indexdaoimpl
package com.ucap.netcheck.dao.impl;
import java.util.arraylist;
import java.util.list;
import org.apache.commons.lang.stringutils;
import org.springframework.stereotype.repository;
import org.springframework.transaction.annotation.transactional;
import com.ucap.netcheck.common.dao.basedao;
import com.ucap.netcheck.dao.iindexdao;
import com.ucap.netcheck.entity.checkservice;
import com.ucap.netcheck.entity.siteservice;
import com.ucap.netcheck.entity.taskstatus;
import com.ucap.netcheck.exception.daoexception;
* @title: indexdaoimpl.java
* @date 2015-4-6 下午6:37:29
@repository
@transactional
public class indexdaoimpl extends basedao implements iindexdao {
* 通過條件查詢分頁資訊
* params[0]:表示檢查名稱
* params[1]:表示首頁網址
* params[2]:表示網站辨別碼
* params[3]:表示目前狀态
* params[4]:表示的是使用者id
@suppresswarnings("unchecked")
int pageno,int pagerow, object... params) {
try {
//map<string, object> map = new hashmap<string, object>();
list<object> lists = new arraylist<object>();
string sql = "select new com.ucap.netcheck.combination.beans.indexcombinationbean(" +
"s.wzmc,s.url,s.sitecode,cs.taskstatus,cs.taskrunnum," +
"cs.taskopennum,cs.userid) " +
"from " + site.class.getsimplename() + " s,"
+ checkservice.class.getsimplename() + " cs,"
+ siteservice.class.getsimplename() + " ss " +
"where ss.sitecode = s.sitecode and ss.servid = cs.servid ";
//通過網站名稱進行查詢
if (stringutils.isnotblank((string)params[0])) {
sql += " and s.wzmc like ? ";
lists.add("%" + (string)params[0] + "%");
}
if (stringutils.isnotblank((string)params[1])) {
sql += " and s.url like ? ";
lists.add("%" + (string)params[1] + "%");
if (stringutils.isnotblank((string)params[2])) {
sql += " and s.sitecode like ? ";
lists.add("%" + (string)params[2] + "%");
if (null != (taskstatus)params[3]) {
//sql += " and cs.taskstatus like ? ";
//lists.add("%" + (string)params[3] + "%");
sql += " and cs.taskstatus =?";
lists.add((taskstatus)params[3]);
if (null != (integer)params[4]) {
sql += " and cs.userid =? ";
lists.add((integer)params[4]);
page<indexcombinationbean> pages = this.querybypage(sql, pageno, pagerow, lists);
//system.out.println("pages.getrecordlist().size() = " + pages.getrecordlist().size());
return pages;
} catch (exception ex) {
throw new daoexception("分頁查詢所有->error", ex);
}
}
indexcombinationbean
package com.ucap.netcheck.combination.beans;
* @title: indexcombinationbean.java
* @package com.ucap.netcheck.combination.beans
* @description: 對應site表,task表,siteservice,checkservice表中的内容,供首頁使用
* @author tuzuoquan
* @date 2015-4-6 下午6:54:50
public class indexcombinationbean {
/**
* 網站名稱
*/
private string wzmc;
* 首頁位址
private string url;
* 網站辨別碼,對應task表中的uuid
private string sitecode;
* 任務狀态
private taskstatus taskstatus;
* 任務執行了的次數
private int taskrunnum;
* 任務開通總次數
private int taskopennum;
* 使用者id
private int userid;
public indexcombinationbean(string wzmc, string url, string sitecode,
taskstatus taskstatus, int taskrunnum, int taskopennum, int userid) {
this.wzmc = wzmc;
this.url = url;
this.sitecode = sitecode;
this.taskstatus = taskstatus;
this.taskrunnum = taskrunnum;
this.taskopennum = taskopennum;
this.userid = userid;
public string getwzmc() {
return wzmc;
public void setwzmc(string wzmc) {
public string geturl() {
return url;
public void seturl(string url) {
public string getsitecode() {
return sitecode;
public void setsitecode(string sitecode) {
public taskstatus gettaskstatus() {
return taskstatus;
public void settaskstatus(taskstatus taskstatus) {
public int gettaskrunnum() {
return taskrunnum;
public void settaskrunnum(int taskrunnum) {
public int gettaskopennum() {
return taskopennum;
public void settaskopennum(int taskopennum) {
public int getuserid() {
return userid;
public void setuserid(int userid) {
=====================================================================
要轉換成的對象:
package com.kuman.cartoon.entity.admin;
/**
* 用于分類導航部分的顯示
* @author toto
public class categorynavigationbean {
private integer id;
* 内容id
private integer nrid;
* 封面
private string cover;
* 檔案路徑+檔案名稱,在附件表中
private string file_path;
* 檔案名,在附件表中
private string file_name;
* 名稱(标題)
private string mc;
* 作者
private string zz;
* 類型
private string type;
* 采集日期(時間)
private string cj_date;
* 序号
private int porder;
* 排行類型
private int categorycycle;
public string getcover() {
return cover;
public void setcover(string cover) {
this.cover = cover;
public integer getnrid() {
return nrid;
public void setnrid(integer nrid) {
this.nrid = nrid;
public string getfile_path() {
return file_path;
public void setfile_path(string file_path) {
this.file_path = file_path;
public string getfile_name() {
return file_name;
public void setfile_name(string file_name) {
this.file_name = file_name;
public string getmc() {
return mc;
public void setmc(string mc) {
this.mc = mc;
public string getzz() {
return zz;
public void setzz(string zz) {
this.zz = zz;
public string gettype() {
return type;
public void settype(string type) {
this.type = type;
public string getcj_date() {
return cj_date;
public void setcj_date(string cj_date) {
this.cj_date = cj_date;
public int getporder() {
return porder;
public void setporder(int porder) {
this.porder = porder;
public integer getid() {
return id;
public void setid(integer id) {
this.id = id;
public int getcategorycycle() {
return categorycycle;
public void setcategorycycle(int categorycycle) {
this.categorycycle = categorycycle;
分頁查詢部分的代碼:
* 按照條件查找到分類導航所需的資訊
@override
@transactional(propagation = propagation.required)
public page findcategorynavigation(int page, int rows, string mc,
integer type, integer categorycycle) {
list<object> params = new arraylist<object>();
string sql = "select t.id,c.nrid,a.file_path || '/' || a.file_name as cover," +
"a.file_path,a.file_name,c.mc,c.zz,c.type,c.cj_date,t.porder,t.category_cycle as categorycycle " +
"from dm_category_navigation t,dm_content c,dm_affix a " +
"where c.nrid = t.content_id " +
"and a.nrid = c.nrid " +
"and a.nrid = t.content_id " +
"and a.file_type = 'hzhb_ylts' ";
//标題
if (stringutils.isnotblank(mc)) {
sql += "and c.mc like ? ";
params.add("%" + mc + "%");
//類型
if (null != type) {
sql += "and c.type = ? ";
params.add(type);
//排行類型:1.日,2.周,3.月
if (null != categorycycle) {
sql += "and t.category_cycle = ? ";
params.add(categorycycle);
sql += "order by t.porder desc";
sqlquery query = sessionfactory.getcurrentsession().createsqlquery(sql);
for (int i = 0; i < params.size(); i++) {
query = (sqlquery) query.setparameter(i, params.get(i));
query.addscalar("id",standardbasictypes.integer)
.addscalar("nrid", standardbasictypes.integer)
.addscalar("cover",standardbasictypes.string)
.addscalar("file_path",standardbasictypes.string)
.addscalar("file_name",standardbasictypes.string)
.addscalar("mc",standardbasictypes.string)
.addscalar("zz", standardbasictypes.string)
.addscalar("type", standardbasictypes.string)
.addscalar("cj_date",standardbasictypes.string)
.addscalar("porder", standardbasictypes.integer)
.addscalar("categorycycle",standardbasictypes.integer)
.setresulttransformer(transformers.aliastobean(categorynavigationbean.class));
page pageinfo = new page();
pageinfo.setpagenum(page);
pageinfo.setnumperpage(rows);
pageinfo.setallrows(query.list().size());
query.setfirstresult((page - 1) * rows);
query.setmaxresults(rows);
pageinfo.setrecordlist(query.list());
int allpages = pageinfo.getallrows() / pageinfo.getnumperpage();
if (pageinfo.getallrows() % pageinfo.getnumperpage() == 0) {
pageinfo.setallpages(allpages);
} else {
//總頁數
pageinfo.setallpages(allpages + 1);
return pageinfo;
} catch (exception e) {
e.printstacktrace();
return null;