本文转引自http://www.infoq.com/cn/articles/grails-ejb-tutorial
作者 Jason Rudolph 译者 胡键
这是grails很好的一个入门教程,对比JAVA应用可以省略大量的代码
下面操作的第三步:
步骤3 —— 导入实体Bean
Grails预装了HSQLDB,但因为我们使用的是MySQL,我们需要一些快捷的步骤,来告诉Grails如何与我们的数据库进行交流。首先,从http://www.mysql.com/products/connector/j/下载MySQL的Java驱动。我选择的是当前可用于产品阶段的产品,在本文撰写的时候,它的版本是3.1.13。
打开zip文件,将其中的mysql-connector-java-3.1.13-bin.jar解压到你的Grails应用的lib目录——本例中,是ejb3_grails/lib。(注意:JAR文件确切的名字会跟据你下载驱动的版本不同而变化)。
现在,我们准备告诉Grails在哪儿找到我们的数据库。用你喜爱的编辑器打开ApplicationDataSource.groovy,按以下内容修改。你可以在ejb3_grails/grails-app/conf/中找到这个文件。(注意:你需要改变用户名和口令以适应你MySQL帐号。)
import
org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration
class ApplicationDataSource {
def configClass = GrailsAnnotationConfiguration.class
boolean pooling = true
//String dbCreate = "create-drop"
// one of 'create', 'create-drop','update'
String url = "jdbc:mysql://localhost/ejb3example"
String driverClassName = "com.mysql.jdbc.Driver"
String username = "ejb3example"
String password = "ejb3example"
}
除了指明链接设置,我们还需要定义configClass成员,以允许Grails支持在实体Bean中使用标注。
最后,我们需要给dbCreate设置加上注释。这个设置允许Grails在运行时使用你的领域对象同步更新数据库模式。尽管它是个强大的选项,但是在这个例子中我们并不需要。通过把这个设置注释掉,我们指示Grails保持模式的原样。
接下来,我们需要将实体Bean——EmployeeBean和ComputerBean——复制到我们的Grails工程。Grails会在src/java目录中查找Java类。请确保创建与这些类的包相匹配的、完整的目录结构。
jMac:~/dev/ejb3_grails/src/java/com/jasonrudolph/ejb3example/entity jason$ lsComputerBean.java EmployeeBean.java
在很长时间内,你将需要确保这些文件与这些类的正式副本保持同步(它们在你的JEE工程源码树中)。使用构建脚本,你可以很容易地做到这点。即,在构建时,将这些文件从JEE工程中复制到Grails工程中。
Grails允许我们与任何Java类工作,但是我们需要让Grails给予这些特殊的Java类(也就是我们的实体Bean)特别的对待。我们要让Grails将这些类认为是我们的领域类,并提供Grails领域类所拥有的ORM和动态方法的全部好处。要做到这些,我们需要在应用的hibernate目录增加如下的hibernate.cfg.xml文件,注册这些类。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE
hibernate-configuration
PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping package="com.jasonrudolph.ejb3example.entity" />
<mapping class="com.jasonrudolph.ejb3example.entity.EmployeeBean" />
<mapping class="com.jasonrudolph.ejb3example.entity.ComputerBean" />
</session-factory>
</hibernate-configuration>
分享到:
相关推荐
Machine Learning: Step-by-Step Guide To Implement Machine Learning Algorithms with Python By 作者: Rudolph Russell ISBN-10 书号: 1719528403 ISBN-13 书号: 9781719528405 出版日期: 2018-05-22 pages ...
Jason Rudolph,著有《Grails入门》,认为本书是将Groovy融入每个Java开发者工具箱的必备指南。Dierk König,Canoo Engineering AG的成员,则将其比作在Groovy“烘焙”中不可或缺的秘方集,能让开发者迅速掌握解决...
- **Jason Rudolph (《Getting Started with Grails》作者)**:认为本书是快速掌握Groovy元编程的最佳资源之一。 - **Scott Davis (aboutGroovy.com 编辑)**:强调本书不仅仅停留在语法层面,而是深入探讨了Groovy...
Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate和其它标准Java框架之上,从而为大家带来一套能实现超高生产力的一站式框架。 本书作者 Jason Rudolph 译者 陈俊 林...
- **Grails框架**: Jason Rudolph介绍的Grails框架示例,不仅讲解了框架本身的优势,也展示了如何利用现代编程语言和框架提升开发效率。 #### 四、对软件工程师的意义 - **启发创新思维**: 通过对代码之美的探索...
一个新的标签画廊,从经典的圣诞节特别鲁道夫图像! 请给我们评分! 如果您觉得我们不值得5星级,请给我们发送电子邮件或先致电给我们! 我们希望收到你的来信! support@brandthunder.com或614.321.9316 *高分辨率...
Node.js-Rudolph-
《MetaTrader 5脚本与Axel Rudolph水平线绘制技术》 MetaTrader 5(MT5)是一款广泛应用于外汇、股票和其他金融市场的交易平台,它提供了丰富的交易功能和强大的技术分析工具。在MT5中,用户可以利用MQL5编程语言...
NativeScript-Bored-Rudolph :recycling_symbol_selector: 用于拉动刷新布局内的自定义隐藏游戏的NativeScript插件。 演示版 本机图书馆 安装 从命令提示符/终端转到应用程序的根文件夹并执行: tns plugin add ...
**鲁道夫(Rudolph)** 是一个专注于纯函数式编程(Pure Functional Programming, PFP)的路由器库,它采用经典的功能响应式编程(Functional Reactive Programming, FRP)范式构建。鲁道夫的核心是利用TypeScript...
这篇论文研究了一种新的认证协议分析和设计逻辑,该逻辑是对传统BAN逻辑的扩展。BAN逻辑由Burrows, Abadi和Needham提出,是基于逻辑的认证协议分析方法中的一种重要手段。本文的作者缪祥华和张云生,通过对BAN逻辑的...
1. 文档标题:“Foundations of Semantic Web Technologies”表明这是一本关于语义网技术基础的教程资源。语义网是互联网的一个扩展,它通过使用标准的、可相互理解的方式来交换信息,使得网络上的数据能够被机器...
杰森·鲁道夫(Jason Rudolph)的点文件 这些是用于以我喜欢的方式设置系统的配置文件。 安装 git clone git://github.com/jasonrudolph/dotfiles ~/.dotfiles cd ~/.dotfiles rake install 环境 我在macOS上运行,...
此外,网络上还有许多教程和在线练习资源可以帮助你提升正则表达式的使用技能。 通过以上介绍,我们可以看到正则表达式是一种功能强大且灵活多变的文本处理工具,它不仅能够简化文本匹配的过程,还能够提高数据处理...
该期杂志包含了软件行业的多个主题内容,其中重点介绍了一项名为“FeaturePlan 3.0”的新发布,以及一篇关于安全测试与管理的文章。 ### 二、“FeaturePlan 3.0”发布详情 **发布方:** - 发布方为Ryma Technology...
- **Larry Rudolph**:拥有纽约大学库朗特研究所博士学位,目前是麻省理工学院的研究科学家以及新英格兰复杂科学研究所的教员。其最新的研究集中在移动计算领域。 #### 适用对象 - 对蓝牙技术感兴趣的编程爱好者。...