def QueryResult findAllInOutStock(String manInfoName,String supplieName,String wareName,
Integer category,Integer inOutType,Date beginTime,
Date endTime,Integer offset,Integer max){
def list=TbInoutStock.createCriteria().list {
//createAlias 第三个参数控制链接,
//0:表示inner join,
//1:表示left outer join ,
//2:表示right outer join
createAlias("manufacturers", "manufacturers",1)
if(manInfoName!=null && !"".equals(manInfoName)){
like("manufacturers.fullName","%"+manInfoName+"%")
}
if(supplieName!=null && !"".equals(supplieName)){
createAlias("selfSupplieInfo","selfSupplieInfo",1)
createAlias("supplier","supplier",1)
or {
like("selfSupplieInfo.fullName","%"+supplieName+"%")
like("supplier.fullName","%"+supplieName+"%")
}
}
if(wareName!=null &&!"".equals(wareName)){
createAlias("ware","ware",1)
like("ware.fullName","%"+wareName+"%")
}
if(category!=null){
eq("manufacturers.category",category)
}
if(inOutType!=null){
eq("inOutType",inOutType)
}
if(beginTime!=null){
gte("inOutDate",beginTime)
}
if(endTime!=null){
lt("inOutDate",endTime)
}
eq("status",1)
if(offset){
firstResult(offset)
}
if(max){
maxResults(max)
}
order("inOutDate","desc")
}
def totalCount=TbInoutStock.createCriteria().count{
createAlias("manufacturers", "manufacturers",1)
if(manInfoName!=null && !"".equals(manInfoName)){
like("manufacturers.fullName","%"+manInfoName+"%")
}
if(supplieName!=null && !"".equals(supplieName)){
createAlias("selfSupplieInfo","selfSupplieInfo",1)
createAlias("supplier","supplier",1)
or {
like("selfSupplieInfo.fullName","%"+supplieName+"%")
like("supplier.fullName","%"+supplieName+"%")
}
}
if(wareName!=null &&!"".equals(wareName)){
createAlias("ware","ware",1)
like("ware.fullName","%"+wareName+"%")
}
if(category!=null){
eq("manufacturers.category",category)
}
if(inOutType!=null){
eq("inOutType",inOutType)
}
if(beginTime!=null){
gte("inOutDate",beginTime)
}
if(endTime!=null){
lt("inOutDate",endTime)
}
eq("status",1)
}
QueryResult queryResult=new QueryResult()
queryResult.list=list
queryResult.totalCount=totalCount
return queryResult
}
分享到:
相关推荐
- 在Eclipse的classpath variable中设置`GRAILS_HOME`变量,指向Grails的安装目录,避免在创建或导入项目时手动添加库文件。 - 在`Windows -> Preferences -> Groovy`中,勾选"Disable Groovy Compiler Generating...
**Grails框架数据查询** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,旨在简化开发过程,提高开发效率。在Grails中,数据查询是核心功能之一,...
### 在Eclipse中高效利用Grails类创建工具 在深入探讨如何在Eclipse环境中使用Grails类创建工具之前,我们先简要回顾一下Grails框架及其核心特性。Grails是一款基于Groovy语言的高性能Web应用开发框架,它遵循约定...
2. 在Grails控制器中创建动态查询,利用`createCriteria`方法构建复杂的查询条件。 3. 使用`maxResults`和`firstResult`进行分页处理。 4. 在查询结果中获取总记录数,以实现分页导航。 5. `render`方法的使用,将...
1. **自动化配置和约定优于配置**:Grails 提供了许多默认配置,例如数据库连接、URL映射等,开发者只需按照约定编写代码即可,减少了配置工作。 2. **GORM(Grails Object Relational Mapping)**: GORM 是Grails...
4. **创建Grails项目**:现在,你可以通过Eclipse的"New" -> "Grails Project"来创建一个新的Grails项目。选择合适的Grails版本和其他配置,然后Eclipse会自动生成项目结构。 5. **开发与调试**:在Eclipse中,你...
使用Grails命令行工具创建一个新的Grails应用,例如`grails create-app loginDemo`。这将在指定目录下生成一个完整的Grails项目结构。 **3. 数据库配置** Grails默认使用H2内存数据库,如需使用MySQL,需修改`...
7. **RESTful服务**:Grails支持创建RESTful API,这在当今的微服务架构中尤为重要。开发者可以轻松构建符合HTTP协议的API,实现前后端分离或者与其他系统集成。 8. **测试支持**:Grails提供了全面的测试工具,...
总结来说,《Grails用户手册》涵盖了从项目创建到部署运行的全过程,包括Grails的基础概念、MVC架构、持久化、插件系统、视图技术、URL映射、测试策略等多个方面。通过学习和实践,开发者可以充分利用Grails的强大...
Grails遵循一套默认的规约,比如数据库连接、目录结构等,这减少了大量手动配置的需求。然而,当需要自定义时,可以通过`Config.groovy`配置文件进行修改。 5. **运行与测试** - **运行Grails应用**:使用`grails...
标题提到的"学习grails框架时候自己写的例子"显然是一个用于实践Grails CRUD(创建、读取、更新、删除)操作的项目。 描述中提到了"自己分页,修改sql查询,带数据库",这表明这个例子涵盖了以下几个关键知识点: ...
总结,配置Grails使用MongoDB数据库主要涉及以下几个步骤:安装MongoDB,添加MongoDB插件依赖,配置数据库连接,创建数据模型,实现业务服务,以及创建控制器处理请求。通过这样的配置和实现,我们就能在Grails中...
#### 搭建Grails环境及创建Grails Demo程序 **Groovy**是一种面向对象的编程语言,它运行于Java平台上,能够与Java代码无缝集成。而**Grails**则是一款基于Groovy的高性能、全栈式的Web应用框架。本篇文章将详细...
3. 创建项目:使用`grails create-app`命令创建新项目,Grails会自动生成项目的目录结构和基础文件。 三、Grails开发实践 1. GORM:Grails的ORM框架,支持关系型数据库如MySQL、PostgreSQL,也支持NoSQL数据库如...
安装完成后,创建一个Grails应用程序是另一个重要的步骤,这可以通过命令行工具或者集成开发环境(IDE)来完成。Grails提供了一个默认的"Hello World"示例,帮助新手快速理解框架的基本结构。 Grails框架的配置通常...
根据提供的部分内容,“mkdir web” 创建了一个名为 `web` 的目录,然后进入该目录并通过命令 “grails create-app racetrack” 创建了一个名为 `racetrack` 的 Grails 应用。创建完成后,通过 “cd racetrack” ...
通过阅读《Grails入门指南中文第二版》,你将能够熟练地搭建Grails开发环境,创建并运行第一个Grails应用,掌握MVC模式下的开发流程,以及利用Grails的强大功能进行高效开发。这本书对于想要进入Grails世界的开发者...
- 使用`grails create-app`命令快速创建一个新的Grails项目。 - 自动生成项目的基本结构,包括目录结构和必要的配置文件。 **Hello World示例** - 创建一个简单的控制器,实现基本的路由逻辑。 - 在视图中展示...
- **动态查询**:支持基于动态条件的查询操作,增加查询灵活性。 - **界面美化**:通过布局和CSS美化页面,提升用户界面的设计感。 #### 三、Grails进阶 - **安全性**: - **用户认证**:实现用户登录、权限验证...