`
zllsdn
  • 浏览: 1112 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Grails项目两周笔记

阅读更多
很多原因,做这么个项目( )不爽

数据库设计由一位老师给做,没做过java项目
框架由自己选,鉴于学习之用,毫无疑问Grails
还有不知从那搞来一个详细设计模板。郁闷,总是很难适应那个模板设计方法
详细设计最起码要根据框架来觉得,怎么个设计风格。看样子那个是以前做vb用的。

受制于人的开发,呵呵,不说这个了,就说学习实践吧。

首先 DB 在Grail中就是模型,但是数据库不是本人做,那种设计出来的数据库几乎就是
跟移植旧项目一样,算了。忍了,就当移植了。刚开始是在model类中写mapping几乎快要完成了碰到非常郁闷的问题,数据库中类型是char(n)的,怎么也映射不了,最后还是全部写成hbm.xml了。建议以后要是移植,全部写成hbm.xml,省得麻烦。grails中好像还没有完全实现hibernate中的映射规则。

总结一下映射
		table 'BOOKS_MST'
		version false
		
		id column:'BOOK_ID'
		id generator:'assigned'
		
		status column:'STATUS_FLG'
//		createDatetime sqlType : 'char(14)'


table 名字可以映射
version 数据库中没有,去掉,乐观锁就被去掉了,疯掉 呵呵
数据库没有设计与业务无关主键,所以 id 改 generator 改
还有映射列名可以改
映射列类型可以改 但是好像只能是hibernate类型 ,没有sql-type,我就是这点跑到hbm.xml中去的。

然手说hbm.xml映射,基本上和java的一样,先贴代码
grails-app/conf/bibernate/hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
  PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
  <session-factory>
    <mapping resource="Book.hbm.xml"/>
    <mapping resource="User.hbm.xml"/>
    <mapping resource="BorrowInfo.hbm.xml"/>
  </session-factory>
</hibernate-configuration>



hbm.xml和hibernate.cfg.xml在同一文件夹中 ,贴一个吧
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
  <class name="BorrowInfo" table="RENTAL_TBL">
    <id name="id">
      <column name="RENTAL_ID" sql-type="CHAR(14)"></column>
      <generator class="assigned"></generator>
    </id>
    
    
    <property name="reserveDate">
    	<column name="RESERVE_DATE" sql-type="CHAR(8)"/>
    </property>
    <property name="rentalDate">
    	<column name="RENTAL_DATE" sql-type="CHAR(8)"/>
    </property>
    <property name="returnDate">
    	<column name="RETURN_DATE" sql-type="CHAR(8)"/>
    </property>

    <property name="comment" column="COMMENT" type="string"/>

	<many-to-one name="book" class="Book">
		<column name="BOOK_ID" not-null="true"></column>
	</many-to-one>
	<many-to-one name="user" class="User" >
		<column name="USER_ID" ></column>
	</many-to-one>
	<property name="gotDatetime">
    	<column name="GET_DATETIME" sql-type="CHAR(14)"/>
    </property>
    
    <property name="createDatetime">
    	<column name="CREATE_DATETIME" sql-type="CHAR(14)"/>
    </property>
    <property name="updateDatetime">
    	<column name="UPDATE_DATETIME" sql-type="CHAR(14)"/>
    </property>
    
    <property name="deleteFlag" column="DELETE_FLAG" type="character" />
    
  </class>
</hibernate-mapping>



class name 直接写类名,我还没有试过在包里写东西,呵呵,写的东西太小了,有机会再试
剩下的事情,和以前的做法没有什么不同的,看见郁闷的映射了吧。时间全映射成字符什么yyyMMddHHmmss这都哪辈子的做法。提一下,这点到我最后写页面时候全写成标签。
映射 几乎没有什么问题了。

忘了说了,如果类的主键generator是 assigned 在BootStrap中初始化数据的时候一定要写成
 def user = new User(userName:'zhangFei',password:'user',authCode : '0' as char)
 user.userId = 'user'
 user.save(insert:true)

要不然,有个什么异常,忘了,应该是跟groovy有关系,没研究过。groovy还没怎么学呢,准备看grails源码是在学。这东西总归还得看,要不然,写的代码就像漂着的一样总不踏实。
接下来说Filter吧
在conf下建个类结尾是Fiters就行,一个类里可以写好多fiter 也可以写成几个类,但是这个顺序在哪控制,目前还不知道。这没什么好说的,贴个模板

public class LoginFilters{
   def filters = {
       loginCheck(controller:'*', action:'*') {
           before = {
 
           }
        }
       authCheck(controller:'*',action:'*'){
    	  before = {
 
          }
       }
   }
}

就在这里定义fiter 这个有两个fiter loginCheck 和authCheck 很简单,以后用查文档吧。

下次再写吧

最后提醒一下,grails几乎是不需要重启就可以热部署的,但是出现莫名其妙的问题,建议重启后再确认问题。conf 和services中写的代码要重启才行,所以在写service是后先提出来放在action中调试,能跑通了,在移到service类中。fiter和taglib也不需要重启,这点非常方便,还是那句话,有莫名其妙的问题,先重启,再确认。
分享到:
评论
2 楼 gqf2008 2009-01-13  
防撞衫网www.dressbooks.com就是用grails开发的
1 楼 jolestar 2008-12-24  
不错不错。怎么不见博主更新了?

相关推荐

    Eclipse下搭建Grails项目

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

    111D:\keke\grails指南\笔记\1111111.txt,grails 初学者,使用说明的。

    使用Grails创建新项目非常简单,只需打开终端或命令行,输入`grails create-app myApp`,其中myApp是你的项目名称。这将生成一个包含基本目录结构的新项目,包括src、test、conf、doc、web等目录,以及应用程序的...

    eclipse下的开发Grails项目的环境配置与项目部署

    在Eclipse中开发Grails项目是一项技术性较强的工作,涉及到多个步骤和配置。Grails是一个基于Groovy语言的开源Web应用框架,它简化了Java开发流程。以下将详细阐述如何在Eclipse环境下配置Grails项目并进行调试。 ...

    grails项目配置

    **Grails项目配置详解** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,简化了开发过程。本项目是一个关于Grails的演示示例,特别关注了数据模型的...

    Grails从零开始开发项目二

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

    The definitive Guide To Grails学习笔记

    Grails的自动化工具如命令行接口(Command Line Interface, CLI)也会被提及,它是快速搭建项目的关键。 第二篇笔记可能涉及Grails的领域模型(Domain Model),这是Grails中的核心组件,用于描述业务对象和它们...

    grials22D:\keke\grails指南\笔记\1111111.txt,grails 初学者,使用说明的。

    2. **项目创建**:使用Grails CLI命令`grails create-app`创建一个新的Grails项目。创建完成后,可以通过命令`grails run-app`启动应用服务器。 3. **定义域模型**:根据业务需求定义域类,例如用户(User)、文章...

    eclipse开发grails插件

    6. **使用eclipse运行grails项目.xlsx**:这个文件可能是项目配置或者步骤指南,包含了运行Grails项目的具体步骤和注意事项。打开查看,以便更好地理解项目的运行流程。 7. **GroovyEclipse.zip**:这个文件可能...

    grails学习笔记

    《Grails学习笔记:监听器与环境配置》 在Grails框架中,监听器和环境配置是提升开发效率的关键元素。监听器允许开发者在特定事件发生时执行自定义操作,而环境配置则确保了不同环境下应用的正确运行。本文将深入...

    grails开发笔记

    ### Grails 开发笔记 #### Grails 概述 Grails 是一款用于 Web 应用开发的开源框架,它基于 Groovy 编程语言,并集成了 Spring、Hibernate 和 SiteMesh 等成熟技术栈。其核心特性之一是“规约取代配置”...

    grails开发

    Groovy与Java代码可以无缝集成,使得已有的Java项目也能轻松迁移到Grails上。 3. **Grails应用程序结构** - **Controllers**:控制器处理HTTP请求,调用服务层方法,准备数据并转发到视图层。 - **Models**:模型...

    bootStrapDemo:Grails项目

    BootstrapDemo: Grails项目是一个基于JavaScript的Web应用示例,主要展示了如何在Grails框架下集成和使用Bootstrap库。Grails是一种开源的、基于Groovy语言的全栈式Web应用框架,它简化了开发过程,提供了丰富的插件...

    在Eclipse里使用Grails类创建工具.pdf

    在Grails项目中,我们经常使用诸如`grails create-domain-class`等命令来快速创建domain、service、controller等类以及它们对应的测试类。 #### 集成Grails到Eclipse 首先,假设您已经成功地将Grails项目集成到了...

    grails login

    这将在指定目录下生成一个完整的Grails项目结构。 **3. 数据库配置** Grails默认使用H2内存数据库,如需使用MySQL,需修改`Config.groovy`中的数据库配置。添加如下代码: ```groovy dataSource { pooled = true ...

    Grails3配置logback日志.pdf

    本文主要介绍如何在Grails3项目中配置logback,实现日志的详细配置,包括按天生成独立的日志文件、日志格式设置以及对日志文件大小的控制。 首先,logback的配置文件是logback.groovy,需要放在项目的grails-app/...

    Grails权威指南 中文版

    本书的作者是Grails项目负责人Graeme Keith Rocher,他将自己对于Grails框架的深刻理解和使用经验编纂成书,以便向读者全面介绍这一框架的使用和优势。 Grails框架基于Groovy语言,而Groovy语言是一种运行在Java...

    Grails安装SVN客户端插件指导手册

    在Grails项目中,版本控制是至关重要的,而Subversion(SVN)是一种常用的版本控制系统,用于管理软件项目的源代码。为了在Grails环境中方便地使用SVN,我们需要安装一个支持SVN的客户端插件,这就是Subclipse。本...

    转: Eclipse下Grails开发环境搭建步骤

    通过Eclipse,我们可以获得强大的开发工具支持,使得Grails项目的创建、调试和管理更加便捷。 首先,确保你已经安装了Java Development Kit (JDK)。Grails是用Java编写的,所以JDK是运行Grails的必要条件。你需要...

Global site tag (gtag.js) - Google Analytics