多条件分页查找(SQL拼接方法)

时间:2023-12-09 17:14:07

def startTime=params.startTime+" 00:00:00"
  def endTime=params.endTime + " 23:59:59"
  def SQL ="from Timage where 1=1 "
  params.max = 2

//设置偏移量
  if (!params.offset) params.offset = 0
  //  params.offset=""
  if(params.keyWord != ""){
   SQL += " and comment like '%${params.keyWord}%'"
  }
  if(params.author!= ""){
   SQL = SQL + " and author like '%${params.author}%'"
  }
  if(params.startTime!=""){
   SQL += " and createtime >= '${startTime}'"
  }
  if(params.endTime!=""){
   SQL += " and publishtime <= '${endTime}'"
  }
  def List = Timage.findAll(SQL,[max:params.max,offset:params.offset as int]) 这里的max是指每次刷新需要显示的个数,偏移量不用设置为固定值让其自动获取,偏移量是指上一页下一页时数据上一个最后/最前+/-偏移量的值对应的数据(如最大值为3,我有7个数据,则3个一分页,第一次偏移量为3,第二次也为3,第三次为1)这里是必填项
  //  def Lista = Timage.findAll(SQL)
  render(view:"searchMuchList",model:[offset:params.offset,muchres: List, muchCount:Timage.count(),keyWord:params.keyWord,author:params.author,startTime:params.startTime,endTime:params.endTime])

-----------

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd")格式化为时间日期字符串

sdf.format转为StringBuffer类型

sdf.parse转换为date类型