- 浏览: 536731 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (174)
- Groovy (28)
- Grails (14)
- DHTML (5)
- JS (4)
- jQuery (16)
- JAVA (16)
- Eclipse (4)
- Hibernate (2)
- Resin (2)
- Oracle (25)
- Maven (4)
- Struts2 (1)
- WebWork2 (3)
- Tomcat (2)
- Windows7 (4)
- Griffon (2)
- PowerDesigner (1)
- Pro*C (2)
- JDK (1)
- 乱码 (2)
- WebService (3)
- .NET (1)
- 性能 (2)
- 安装 (1)
- 命令行 (1)
- function (1)
- type (1)
- Mysql (1)
- 同步 (1)
- Synchronized (1)
- json (3)
- Office (1)
- Visio (1)
- 自定义形状 (1)
- jsong (0)
- gson (1)
- fastjson (1)
- EM (1)
- DB2 (6)
- Sequence (1)
- RHEL5.x (1)
- WAS6.1 ND (1)
- SQL (1)
- -964 (1)
- Linux (4)
- Date (1)
- Format (1)
- Add (1)
- SHELL (1)
- CSS (2)
- Bootstrap (1)
- nginx (1)
- Openresty (2)
- JWPlayer (1)
- showdoc (1)
- 常用网址 (1)
- lua (2)
- SpringBoot (1)
- Office pdf linux (1)
最新评论
-
纵观全局:
Great
阿里巴巴开源JSON解析组件FastJson简单使用笔记 -
guxuede:
...
Groovy编程技巧 -
a1439226817:
groovy用的多吗?我还没发现有哪个java项目在用这个?
Groovy同步 -
晴子9034:
在网上搜到的几乎全是说满了就扩充。但是我有个疑问,满了就扩充, ...
解决DB2 SQLCODE=-964日志文件满的问题 -
在世界的中心呼喚愛:
好东西啊,就用这个包。
阿里巴巴开源JSON解析组件FastJson简单使用笔记
原贴地址:http://groovyq.net/content/%E4%BD%BF%E7%94%A8grails%E8%BF%9B%E8%A1%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E9%80%86%E5%90%91%E5%B7%A5%E7%A8%8B
Grials 1.4/2.0将支持数据库的迁移和逆向工程(reverse engineering)。对于数据库的迁移,将基于Liquibase,并且已有LiquiBase插件可以使用。而对于逆向工程,Burt Beckwith新近发布的Grails逆向工程插件可以很容易的就实现这个功能,该插件不依赖Grails 1.4的任何新特性。
该插件可以根据数据库表结构生成对应的Domain Class。听起来还不错!
如下是这个插件示例用法:
安装这个插件:grails install-plugin reverse-engineer。(该插件最新的名字已经改为“db-reverse-engineer”)
在数据库中创建表:
在grails-app/conf/Config.groovy文件中加入相关配置:
执行:grails reverse-engineer,就可以在grails-app/domain/packagename目录下看到生成的Domain Class了。
这里需要注意,表Role的主键名字为ids,也没有version这个字段,那么在生成的Domain Class中,会出现如下内容:
如果对已经生成的Domain Class进行修改,比如添加属性,依旧会更改数据库的表结构。这种行为仍然还是由DataSource的dbCreate属性控制的,逆向工程插件并没有更改它。
就是这么简单!对于遗留数据库来讲,使用逆向工程比起自己去写Domain Class要方便得多!
感兴趣的读者可以下源https://github.com/grails-plugins/grails-reverse-engineer源代码和阅读相关文档http://grails-plugins.github.com/grails-reverse-engineer/。
Grials 1.4/2.0将支持数据库的迁移和逆向工程(reverse engineering)。对于数据库的迁移,将基于Liquibase,并且已有LiquiBase插件可以使用。而对于逆向工程,Burt Beckwith新近发布的Grails逆向工程插件可以很容易的就实现这个功能,该插件不依赖Grails 1.4的任何新特性。
该插件可以根据数据库表结构生成对应的Domain Class。听起来还不错!
如下是这个插件示例用法:
安装这个插件:grails install-plugin reverse-engineer。(该插件最新的名字已经改为“db-reverse-engineer”)
在数据库中创建表:
create table role ( ids bigint not null auto_increment, authority varchar(255) not null unique, primary key (ids) ); create table user ( id bigint not null auto_increment, version bigint not null, password varchar(255) not null, username varchar(255) not null unique, primary key (id) ); create table user_roles ( role_id bigint not null, user_id bigint not null, date_updated timestamp not null default CURRENT_TIMESTAMP, primary key (role_id, user_id) ); alter table user_roles add index FK143BF46A52388A1A (role_id), add constraint FK143BF46A52388A1A foreign key (role_id) references role (ids); alter table user_roles add index FK143BF46AF7634DFA (user_id), add constraint FK143BF46AF7634DFA foreign key (user_id) references user (id);
在grails-app/conf/Config.groovy文件中加入相关配置:
//设置生成的Domain Class的包名,缺省值为应用的名字,可以自己指定 grails.plugin.reveng.packageName="packagename" //设置多对多关系的中间表名 grails.plugin.reveng.manyToManyTables = ['user_roles'] //多对多关系的belongto设置,下述设置表示Role对应的Domain Class中指定了belognsTo,即static belongsTo = [User]; grails.plugin.reveng.manyToManyBelongsTos = ['user_roles': 'role']
执行:grails reverse-engineer,就可以在grails-app/domain/packagename目录下看到生成的Domain Class了。
这里需要注意,表Role的主键名字为ids,也没有version这个字段,那么在生成的Domain Class中,会出现如下内容:
static mapping = { id column: "ids" version false }
如果对已经生成的Domain Class进行修改,比如添加属性,依旧会更改数据库的表结构。这种行为仍然还是由DataSource的dbCreate属性控制的,逆向工程插件并没有更改它。
就是这么简单!对于遗留数据库来讲,使用逆向工程比起自己去写Domain Class要方便得多!
感兴趣的读者可以下源https://github.com/grails-plugins/grails-reverse-engineer源代码和阅读相关文档http://grails-plugins.github.com/grails-reverse-engineer/。
发表评论
-
Grails编写WebService客户端
2012-05-28 13:39 2849环境:jdk1.6.0.31 + Grails2.0.4 1. ... -
解决grails run-app控制台输出乱码问题
2012-04-17 13:14 1766在运行项目时加上 -Dfile.encoding参数,值随OS ... -
(转)使用grag对Grails进行数据库逆向工程
2011-08-04 10:07 1591http://blog.csdn.net/wudith/art ... -
(转)提高Grails应用的查询性能
2011-04-22 17:32 1129转载地址:http://www.groovyq.net/con ... -
Grails渲染JSON迷你手册
2010-07-28 10:42 3081http://memo.feedlr.com/?p=6 Mi ... -
(转)让HelpBalloons飘在你的GSP上空
2010-06-09 16:14 1118原贴地址:http://www.groovyq.net/nod ... -
(转)Grails中的命名查询
2010-06-09 16:11 1263原贴地址:http://www.groovyq.net/con ... -
使用createAlias进行“以子对象的属性为查询条件的”查询
2010-06-01 10:52 34def enReservedVenuses = { ... -
利用Hibernate的HibernateCriteriaBuilder建立可分页并带有查询条件的查询
2010-02-26 14:53 76def adminList = { par ... -
Grails应用技巧
2010-02-26 10:58 32311. 领域模型属性复制 ... -
在Grails Console中调用GetBean
2010-01-25 09:57 1198http://www.groovyland.net/?q=no ... -
在Grails console中执行SQL语句
2010-01-22 16:50 28931. import groovy.sql.Sql ... -
Grails分页查询总结
2010-01-06 16:26 407看代码: def list = { param ... -
关于Grails输出JSON的总结
2010-01-06 11:43 19611. def oList = [total:0, ro ... -
Grails+Xfire 搭建Web Service环境
2009-12-24 15:13 1877Grails 加上Xfire plugin 搭建web S ... -
Grails问题汇总
2009-10-28 13:05 63转自:http://hi.baidu.com/ssyuan/b ... -
Grails中直接使用SQL返回List
2009-09-23 10:13 210import groovy.sql.Sql class ... -
Grails按样本查询
2009-07-02 15:35 61主要用到find方法: 方法说明: 指定查询条件(如果没有找 ... -
案例研究:利用Grails搭建Feedlr.com网站
2009-06-29 11:16 1935原贴地址:http://www.infoq ...
相关推荐
总结,配置Grails使用MongoDB数据库主要涉及以下几个步骤:安装MongoDB,添加MongoDB插件依赖,配置数据库连接,创建数据模型,实现业务服务,以及创建控制器处理请求。通过这样的配置和实现,我们就能在Grails中...
2. **View**:Grails使用GSP(Groovy Server Pages)作为视图,类似于JSP,但更灵活,允许在页面中直接嵌入Groovy代码,实现动态内容的生成。 3. **Controller**:控制器负责处理用户请求,管理业务逻辑,接收表单...
至于数据库连接,Grails 3默认使用Hibernate作为ORM(对象关系映射)工具,因此在`application.yml`中配置数据库连接信息: ```yaml dataSource: pooled: true jmxExport: true driverClassName: ...
1. **Domain Class**:表示数据模型,通常与数据库表相对应,Grails利用Hibernate进行对象关系映射。 2. **View (GSP)**:采用GSP(Groovy Server Pages)而非传统的JSP,允许嵌入Groovy代码,用于渲染用户界面。 3....
默认情况下,Grails使用一个名为`dataSource`的主数据源进行连接。然而,为了支持多数据库环境,开发者可以自定义额外的数据源,并在应用程序中按需使用。这在处理分布式系统、微服务架构或者需要分离不同业务数据的...
2. **GORM(Grails Object Relational Mapping)**: GORM 是Grails的ORM框架,提供了与数据库交互的能力,支持关系型数据库,如MySQL、PostgreSQL等。它提供了CRUD操作,以及事务管理和动态查询。 3. **插件系统**...
Grails是一个面向约定(Convention Over Configuration)的框架,这意味着开发者在进行开发时无需过多地关注配置细节,框架会根据约定自动处理大部分工作。它采用了MVC(Model-View-Controller)架构模式,其中模型...
- 由于Grails项目涉及GSP(Groovy Server Pages)文件,推荐使用包含JSP编辑器的Eclipse JEE版本。如果你对JSP语法熟悉且内存有限,也可选择Classic版本。 - 安装Eclipse 3.4.0 JEE版本或其他支持JSP编辑的最新...
使用Grails进行开发时,开发者可以通过定义清晰的领域类来实现业务逻辑,从而简化应用程序的复杂度。这种方式使得开发者能够更加专注于业务逻辑本身,而不是被底层的技术细节所困扰。通过领域类,可以直观地看到模型...
标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...
Grails使用Gradle作为构建工具,提供了`grails war` 命令生成可部署的WAR文件,方便在各种Java应用服务器上部署。 九、测试 Grails内置了测试框架,支持单元测试、集成测试和功能测试。通过`test-app` 命令,可以...
6. **Views**:Grails使用GSP作为视图模板,GSP结合了HTML和Groovy,允许在页面上执行逻辑和表达式。GSP还支持标签库,可自定义复用的UI组件。 7. **URL映射**:Grails的URL映射功能允许开发者定义直观、友好的URL...
在本教程中,我们将探讨如何使用GORM(Grails Object-Relational Mapping)构建Spring Boot应用程序。GORM是Grails框架的核心部分,它为开发者提供了简单、强大的数据持久化功能,支持Hibernate和MongoDB等数据库。...
- **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中实现 Ajax 功能、处理遗留数据库的方法、利用遗留框架以及如何在 Grails 中使用 WebFlow。 - **高效编程系列**:涵盖使用 ...
3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,简化了数据持久化的过程。GORM支持多种数据库,如MySQL、PostgreSQL等。 4. **...
使用`grails war`命令打包应用为WAR文件,然后在服务器上进行部署。 7. **支持的Java EE容器** Grails兼容广泛的Java应用服务器,包括但不限于Apache Tomcat、Jetty、Resin等,这使得Grails应用能在不同的环境中...
在深入探讨如何在Eclipse环境中使用Grails类创建工具之前,我们先简要回顾一下Grails框架及其核心特性。Grails是一款基于Groovy语言的高性能Web应用开发框架,它遵循约定优于配置的原则,极大地简化了Web应用的开发...