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 Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...
在help菜单选择Install New Software…
eclipse插件、用来开发grails(路漫漫其修远兮、吾将上下而求索)
grails 中文文档+grails-fckeditor-0.9.5.zip插件
Grails Shiro UI 插件 请参阅。
Grails 中文 参考手册
grails中文参考手册 学习资料 groovy
grails 中文第二版
Grails是个一栈式开发框架,它尝试通过核心技术和插件技术来解决许多Web开发难题。Grails包含了如下内容: 由 Hibernate 构成的易于使用的 Object Relational Mapping (ORM)层 称为 Groovy Server Pages (GSP) 的...
grails 中文 API grails 中文 API
Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...
概括Grails插件将Primefaces集成到Grails项目中。 带有Java JDK 1.7的最低Grails版本是2.3.7,并且依赖项具有以下版本: 核心JSF 2.2 Primefaces 5.2 Apache MyFaces 2.2.8 可以在上找到源代码安装通过在BuildConfig...
elasticsearch-grails-plugin, 恢复的ElasticSearch grails插件 Elasticsearch插件插件这个项目是一个基于Elasticsearch的插件,这个项目是基于的人完成的伟大工作的。你为什么想要为原来的Elasticsearch插件提供...
eclipse插件grails(groovy)配置方法
grails中的上传,下载,需要的请下载
grails的插件系统也是其亮点之一。首先,和rails,django等web框架类似,基于微内核的思想,插件(可重用模块)是框架的一等公民。grails除了核心模块以外的功能几乎都是通过插件方式实现的。实际上,一个grails插件...
Joda-Time插件Joda-Time插件将日期/时间库集成到Grails中。 插件... 捆绑必要的库,以将Joda Time类型用作域类上的持久字段。 提供将表单输入绑定到域或命令对象上的“ Joda时间”字段的功能。 支持Joda Time类型的...
Grails Grails Grails Grails Grails