`
zjnbshifox
  • 浏览: 314929 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Grails从Mysql选择随机记录解决过程

阅读更多
想要做一个考试系统,随机抽取试卷题目,原来的代码是:
java 代码
 
  1. def artlist = Article.findAll("from Article  order by rand()")  
  2. [ article:artlist ]  
发现显示出来的每个题目都是带一个[],才知道原来选择出来的是一个List。
后来把代码修改为:
java 代码
 
  1. def artlist = Article.findAll("from Article  order by rand()")  
  2. def art = null  
  3. if(artlist!=null){  
  4.     art = artlist.get(0)  

  5.  [ article:artlist ]  
本来想在by rand()后面加上limit 1,但是加上后出错,因为知道Grails使用的是Hibernate类似的,就去寻找Hiberanate的createQuery这样的方法,但是只有一个executeQuery,而且返回的也是List,没有maxResults,setFirstResult的方法,很麻烦。
后来查手册才发现,原来find方法是返回第一个记录,所以代码就改为:
java 代码
 
  1. def artlist = Article.find("from Article  order by rand()")  
  2.  [ article:artlist ]  
但是这样做感觉效率可能会比较低,而且如果要找随机的5条就比较麻烦,因为可能会有重复的,不知道有没有更好的解决方法。
分享到:
评论
1 楼 aliciaking 2009-05-05  
楼主找到合适的方法了吗?
我也需要用grails从数据库表随即抽取不重复的条目,不知怎么做……

相关推荐

    grails 连接mysql

    这个例子实现了用grails 连接mysql 数据库,并且把内容显示出来,可以增删除改,下载这个例子后大家要把jdk tomcat grails环境搭好,然后用grails run-app来执行,也可以用其它的开发工具,本人用的是netbeans

    Grails从入门指南(第二版)

    《Grails从入门指南(第二版)》是一本专为初学者设计的全面教程,旨在帮助读者快速掌握Grails框架的基础知识和高级特性。Grails是一个基于Groovy语言的开源Web应用开发框架,它简化了Java平台上的开发过程,提供了...

    Grails Grails Grails

    Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式,允许开发者快速构建...

    GRAILS课程学习记录总结

    - 接着,从官方网址下载并安装 Grails,例如 Grails 1.2。安装完成后,设置 `GRAILS_HOME` 环境变量,并将 `GRAILS_HOME/bin` 添加到系统的 `PATH` 中,以便在任何目录下都能运行 Grails 命令。 - 可选地,为了...

    Grails权威指南 Grails权威指南

    Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同层次的开发者,无论你是初学者还是经验丰富的程序员,都能从中受益。 Grails框架的核心特性包括模型...

    Grails从零开始开发项目二

    在本节中,我们将深入探讨"Grails从零开始开发项目二"的相关知识点,这是一个关于使用Grails框架进行Web应用开发的学习过程。Grails是一种基于Groovy语言的开源Web应用框架,它以其高效的开发速度和丰富的插件生态...

    Grails学习记录

    【标题】:“Grails学习记录” 【描述】:在学习Grails的过程中,我们可以发现这是一个基于Groovy语言的、用于构建Web应用的开源框架。通过博文链接(https://loven-11.iteye.com/blog/544143)我们可以获取到作者...

    grails-2.4.4.zip

    总结,Grails 2.4.4 作为一个成熟的Web开发框架,以其高效的开发模式、强大的Groovy语言支持、丰富的插件库和易于集成的特点,为开发者提供了构建高质量Web应用的优秀选择。通过深入理解其核心组件和最佳实践,...

    Eclipse下搭建Grails项目

    Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. **Grails环境安装** - ...

    eclipse开发grails插件

    Grails的核心特性包括MVC架构、领域驱动设计(GORM)、自动化构建过程以及丰富的插件系统。通过Eclipse的插件,我们可以更好地在Java环境中集成Grails开发,享受无缝切换的便利。 接下来,我们将讨论**Eclipse插件...

    grails-用户手册

    总结来说,《Grails用户手册》涵盖了从项目创建到部署运行的全过程,包括Grails的基础概念、MVC架构、持久化、插件系统、视图技术、URL映射、测试策略等多个方面。通过学习和实践,开发者可以充分利用Grails的强大...

    Grails入门指南 -- 针对grails1.0.4更新

    - **Grails版本升级**:指导如何从旧版本平稳过渡到新版本。 #### 四、总结与展望 - **总结**: - Grails通过其简洁高效的特点,为Java开发者提供了一个快速开发Web应用的新途径。 - 它不仅提升了开发效率,还...

    Grails入门指南-中文版

    - 选择一个合适的数据库管理系统(如MySQL、PostgreSQL等)。 - 安装并配置数据库。 #### 四、创建第一个Grails应用 **1. 创建项目** - 使用命令行工具创建一个新的Grails项目。 - 示例命令:`grails create-...

    eclipse插件grails(groovy)

    确保在安装过程中选择所有必要的组件,包括Groovy编译器和Grails支持。 安装完成后,需要配置Groovy和Grails的环境。在Eclipse中,进入"Window" > "Preferences" > "Groovy",在这里设置Groovy SDK。你需要下载...

    the definitive guide to grails 2

    Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了Web应用程序的构建过程,同时保持了Java平台的强大功能和稳定性。 ### Grails框架简介 Grails框架是建立在Groovy编程语言之上的一个...

    grails login

    Grails默认使用H2内存数据库,如需使用MySQL,需修改`Config.groovy`中的数据库配置。添加如下代码: ```groovy dataSource { pooled = true driverClassName = "com.mysql.jdbc.Driver" username = "your_db_...

    Grails入门精通及中文API

    在学习过程中,还可以参考在线教程、视频课程和社区论坛,如Stack Overflow和Grails官方社区,以便获取更多实践经验和帮助。 总之,Grails作为Java平台上的快速Web开发框架,以其高效、灵活和丰富的生态系统,为...

Global site tag (gtag.js) - Google Analytics