使用Groovy for JDBC

时间:2015-07-27 14:27:26

标签: spring groovy spring-boot groovy-sql

我有暴露ReST API的spring-boot应用程序。我正在考虑将所有SQL读取卸载到Groovy SQL。 DataSource在Spring中配置。我希望Groovy使用这个DataSource。顺便说一下,会有多个DataSource对象(连接到不同的数据库)。

最好的方法是什么 - 我想要两全其美(DI和groovy simple)。该应用程序必须在Spring中(出于项目原因),并将使用WebLogic定义的数据源部署在WebLogic服务器中。

我的想法是从Spring-boot的ReST控制器方法调用如下所示的Groovy方法:

/student/id
Student getStudentDetails(int id){
    @Autowired
    @Qualifier("someDataSource");
    DataSource myDs;
    Student student = GroovySqlUtil.findStudentById(id, myDs); // pass the DS to Groovy sothat GrooySQL can use the DS for executing queries.
    return student;
}

有更好的方法吗? Groovy可以直接处理数据源(多个DD)吗?在这种情况下,我不会在Spring配置中初始化DataSource。

不需要事务,JPA等。它是纯SQL读取操作。

1 个答案:

答案 0 :(得分:0)

事实上,Groovy,Java,Gradle和Spring-boot可以毫无问题地混合使用。我在Groovy类中创建了一个新的ReST服务并使用了groovy.Sql。一切正常。

Gradle构建文件需要低于配置:

sourceSets {
    main {
        groovy {
            // override the default locations, rather than adding additional ones
            srcDirs = ['src/main/groovy', 'src/main/java'] 
        }
        java {
            srcDirs = [] // don't compile Java code twice 
        }
    }
}

并且还在主Spring配置类的组件扫描中使用了groovy包。