Grails通过命令安装的iBATIS插件版本有些老,有些小限制,不能使用MyBATIS的Configuration.xml,建立的gateway里面的函数都是动态根据xml mapper文件自动生成的,如果想自己写,缺少SqlSession的注入
针对这些情况可以自己修改一下
1) MyBatis的很多配置功能无法全面利用,例如别名,MyBatis插件,环境信息,缓存等,要利用MyBatis的所有配置功能,添加对配置文件的支持
def doWithSpring = {
def ssfb = sqlSesssionFactoryBean(org.mybatis.spring.SqlSessionFactoryBean) {
dataSource = ref('dataSource')
mapperLocations = mappingSupport.getArtefactResourcePaths(application)
configLocation = "classpath:Configuration.xml";//new ClassPathResource("Configuration.xml"); 添加此行代码
}
sqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate, ref('sqlSesssionFactoryBean'))
添加一行configLocation属性即可
2)如果想在gateway自己写函数,控制事务,修改如下:
def registerMappings(GrailsClass g, GrailsApplication application) {
log.debug("Registering mappings for class " + g)
def operationIds = [:]
def namespace
String filename = getIbatisFilename(g.fullName)
try {
def mappingXml = loadIbatisFile(filename, g)
namespace = mappingXml.@namespace.text()
operationIds = getOperationIds(mappingXml)
} catch (e) {
log.error("Failed to load iBATIS SQL map file ${filename}", e)
}
def mc = g.clazz.metaClass
mc.sqlMapper = application.mainContext.getBean('sqlSessionTemplate') //添加此行代码
operationIds.each {String opType, ids ->
ids.each {String id ->....
这里添加了sqlMapper的实例注入,你就可以在gateway中这样写代码了,剩下的就是MyBatis的东西了,没什么好说的了。
def myHello(def args){
return sqlMapper.selectOne("selectDirectory",args);
}
注意这里自定义的东西最好不要启动事务,统一在Grails 的Service里面由Spring控制就好。
分享到:
相关推荐
用于 Grails 框架的 MyBatis 插件 基于原始 Grails-iBatis 插件:Brian Sanders ( ) Grails 插件主页: : 修改: 命名约定的一些变化 添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 Grails 依赖项 ...
为了在Grails环境中方便地使用SVN,我们需要安装一个支持SVN的客户端插件,这就是Subclipse。本指南将详细介绍如何在Grails环境中安装Subclipse插件。 首先,启动你的Eclipse集成开发环境(IDE),这是Grails通常...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
1. 添加依赖:在Grails项目的`build.gradle`文件中添加插件依赖,如`compile 'org.grails.plugins:grails-shiro-ui:版本号'`。 2. 配置Shiro:在`Config.groovy`文件中配置Shiro的设置,包括安全 Realm、认证策略、...
FCKEditor是一款著名的在线文本编辑器,grails-fckeditor-0.9.5插件则是将其集成到Grails应用中的解决方案。以下是关键点: 1. 安装与配置:在Grails项目中添加插件依赖,然后通过配置文件调整编辑器的参数,如默认...
Grails Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...
Views 是 Grails 应用程序中的用户界面部分,通常使用 Groovy Server Pages (GSP) 文件编写。GSP 结合了 HTML、CSS 和 JavaScript 以及 Groovy 语法,允许动态生成页面内容。 **Services** Services 是可重用的...
Grails支持多种集成开发环境(IDE),如IntelliJ IDEA和Eclipse,通过特定的插件可以方便地在这些IDE中进行开发,提供代码提示、自动完成等功能,提升开发效率。 4. **规约配置** Grails遵循一套默认的规约,比如...
- **部署**:讲解了在各种Java EE容器中部署Grails应用的方法。 2. **配置**: - **基本配置**:讨论了Grails的基础配置选项,包括内置选项和日志设置。 - **数据源**:详细介绍了数据源的配置,包括与环境的...
开发者可以很方便地在Grails项目中集成这些插件来增强应用程序的能力。 Grails框架的中文入门资料较为稀缺,因而这份文档显得尤其宝贵。文档涵盖了从安装、配置、Web开发、服务层、测试、国际化、安全到插件使用等...
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
Grails Acegi 0.5插件正是基于这个理念,将Acegi Security的功能引入到Groovy语言和Grails框架中,使得Grails开发者也能享受到Spring Security的强大安全特性。 该插件的核心文件包括: 1. `AcegiGrailsPlugin....
《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...
本文将深入解析Grails中文API中的关键概念和技术点。 1. **Grails框架概述** Grails是基于Spring框架构建的,它整合了Groovy语言的强大功能和Java生态系统的优势。Grails遵循MVC(Model-View-Controller)设计模式...
5. **插件系统**:Grails的插件系统是其灵活性的一大体现,允许开发者复用和扩展功能。例如,有用于安全性的spring-security-core插件,用于邮件发送的mail插件,以及用于RESTful API的rest-api-doc插件等。这些插件...
注意,尽管Eclipse对Grails的支持相比IntelliJ IDEA和NetBeans可能稍显不足,但通过Groovy Eclipse插件的配置,开发者依然能在Eclipse中高效地进行Grails开发。不断更新插件和学习最佳实践将有助于提升开发体验。
- 通过更改`BuildConfig.groovy`文件中的`targetContainer`参数来指定目标容器。 **生成应用** - 使用`grails generate-app`命令生成应用的基本结构。 **创建工件** - 使用`grails create-*`系列命令创建各种类型...
【Grails中集成GWT】知识点详解 在Web应用开发中,Grails是一个基于Groovy语言的开源框架,而Google Web Toolkit (GWT)则是一个用于构建和优化复杂JavaScript前端应用的开发工具。将这两者结合,可以让开发者利用...
elasticsearch-grails-plugin, 恢复的ElasticSearch grails插件 Elasticsearch插件插件这个项目是一个基于Elasticsearch的插件,这个项目是基于的人完成的伟大工作的。你为什么想要为原来的Elasticsearch插件提供...