`
qixin000
  • 浏览: 21305 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
文章分类
社区版块
存档分类
最新评论

Grails中MyBatis插件的修改

阅读更多
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控制就好。
0
0
分享到:
评论

相关推荐

    Grails-MyBatis:用于 Grails 框架的 MyBatis 插件

    用于 Grails 框架的 MyBatis 插件 基于原始 Grails-iBatis 插件:Brian Sanders ( ) Grails 插件主页: : 修改: 命名约定的一些变化 添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 Grails 依赖项 ...

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

    为了在Grails环境中方便地使用SVN,我们需要安装一个支持SVN的客户端插件,这就是Subclipse。本指南将详细介绍如何在Grails环境中安装Subclipse插件。 首先,启动你的Eclipse集成开发环境(IDE),这是Grails通常...

    eclipse开发grails插件

    对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...

    grails-shiro-ui:Grails Shiro UI 插件

    1. 添加依赖:在Grails项目的`build.gradle`文件中添加插件依赖,如`compile 'org.grails.plugins:grails-shiro-ui:版本号'`。 2. 配置Shiro:在`Config.groovy`文件中配置Shiro的设置,包括安全 Realm、认证策略、...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    FCKEditor是一款著名的在线文本编辑器,grails-fckeditor-0.9.5插件则是将其集成到Grails应用中的解决方案。以下是关键点: 1. 安装与配置:在Grails项目中添加插件依赖,然后通过配置文件调整编辑器的参数,如默认...

    grails-pjax:Grails Pjax插件云可帮助您在Grails中使用pjax

    Grails Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...

    Grails中文参考手册

    Views 是 Grails 应用程序中的用户界面部分,通常使用 Groovy Server Pages (GSP) 文件编写。GSP 结合了 HTML、CSS 和 JavaScript 以及 Groovy 语法,允许动态生成页面内容。 **Services** Services 是可重用的...

    grails中文参考手册

    Grails支持多种集成开发环境(IDE),如IntelliJ IDEA和Eclipse,通过特定的插件可以方便地在这些IDE中进行开发,提供代码提示、自动完成等功能,提升开发效率。 4. **规约配置** Grails遵循一套默认的规约,比如...

    grails中文入门简介

    开发者可以很方便地在Grails项目中集成这些插件来增强应用程序的能力。 Grails框架的中文入门资料较为稀缺,因而这份文档显得尤其宝贵。文档涵盖了从安装、配置、Web开发、服务层、测试、国际化、安全到插件使用等...

    eclipse插件grails(groovy)

    Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...

    grails-acegi-0.5.zip

    Grails Acegi 0.5插件正是基于这个理念,将Acegi Security的功能引入到Groovy语言和Grails框架中,使得Grails开发者也能享受到Spring Security的强大安全特性。 该插件的核心文件包括: 1. `AcegiGrailsPlugin....

    Grails1.1中文文档

    《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...

    grails中文API

    本文将深入解析Grails中文API中的关键概念和技术点。 1. **Grails框架概述** Grails是基于Spring框架构建的,它整合了Groovy语言的强大功能和Java生态系统的优势。Grails遵循MVC(Model-View-Controller)设计模式...

    grails-4.0.4.zip

    5. **插件系统**:Grails的插件系统是其灵活性的一大体现,允许开发者复用和扩展功能。例如,有用于安全性的spring-security-core插件,用于邮件发送的mail插件,以及用于RESTful API的rest-api-doc插件等。这些插件...

    Eclipse下搭建Grails项目

    注意,尽管Eclipse对Grails的支持相比IntelliJ IDEA和NetBeans可能稍显不足,但通过Groovy Eclipse插件的配置,开发者依然能在Eclipse中高效地进行Grails开发。不断更新插件和学习最佳实践将有助于提升开发体验。

    grails 中文第二版

    - 通过更改`BuildConfig.groovy`文件中的`targetContainer`参数来指定目标容器。 **生成应用** - 使用`grails generate-app`命令生成应用的基本结构。 **创建工件** - 使用`grails create-*`系列命令创建各种类型...

    Grails中集成GWT中文资料

    【Grails中集成GWT】知识点详解 在Web应用开发中,Grails是一个基于Groovy语言的开源框架,而Google Web Toolkit (GWT)则是一个用于构建和优化复杂JavaScript前端应用的开发工具。将这两者结合,可以让开发者利用...

    elasticsearch-grails-plugin, 恢复的ElasticSearch grails插件.zip

    elasticsearch-grails-plugin, 恢复的ElasticSearch grails插件 Elasticsearch插件插件这个项目是一个基于Elasticsearch的插件,这个项目是基于的人完成的伟大工作的。你为什么想要为原来的Elasticsearch插件提供...

    grails中文文档

    6. **插件系统**:Grails 插件丰富了框架的功能,如缓存、安全、测试等。了解如何查找、安装和使用插件,可以快速扩展你的应用。 7. **构建和部署**:学习 `grails war` 命令打包应用,以及如何将应用部署到各种...

Global site tag (gtag.js) - Google Analytics