某种情况下,其实就想用Spring Boot
提供的那种即开即用的开发体验,但是我真的对Spring
保姆式的一揽子工程不怎么感冒。尤其是数据库JDBC
这块。常见的Java
系里提到的技术,我真的一个都不想用,我最钟爱的数据库类库其实就是groovy.sql.SQL
,简单而强大,配合Groovy
之后,再也没有繁琐的Java Bean
和无边无际的get
、set
。
想了解更多groovy.sql.SQL
欢迎查看官方文档:http://groovy-lang.org/databases.html
今天我们还是着重说一下,怎么在Spring Boot
的框架下融入groovy.sql.SQL
,话不多说,上代码:
gradle.build
plugins { id 'org.springframework.boot' version '1.5.15.RELEASE' id 'war' id 'groovy' }
group 'com.aruistar' version '1.0-SNAPSHOT'
ext { groovy_version = "2.5.2" }
sourceCompatibility = 1.8
dependencies { compile("org.springframework.boot:spring-boot-starter-web")
compile "org.codehaus.groovy:groovy:$groovy_version" compile "org.codehaus.groovy:groovy-sql:$groovy_version" compile "org.codehaus.groovy:groovy-json:$groovy_version"
compile group: 'com.alibaba', name: 'druid', version: '1.1.10' compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.46'
testCompile "org.codehaus.groovy:groovy-test:$groovy_version" testCompile("org.springframework.boot:spring-boot-starter-test") }
|
程序入口Application
package com.aruistar
import com.alibaba.druid.pool.DruidDataSource import groovy.sql.Sql import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder import org.springframework.boot.builder.SpringApplicationBuilder import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.boot.web.support.SpringBootServletInitializer import org.springframework.context.annotation.Bean
import javax.sql.DataSource
@SpringBootApplication class Application extends SpringBootServletInitializer {
static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); }
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Application.class); }
@Bean @ConfigurationProperties("app.datasource") DataSource dataSource() { return DataSourceBuilder.create().type(DruidDataSource.class).build(); }
@Bean Sql db() { return new Sql(dataSource()) } }
|
配置文件application.yml
server: port: 8080
app: datasource: url: jdbc:mysql://127.0.0.1:3306/test username: root password: 1 pool-size: 5
|
用上Sql的Controller
package com.aruistar.controller
import groovy.sql.Sql import org.springframework.beans.factory.annotation.Autowired import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController
@RestController @RequestMapping("/open") class OpenController {
@Autowired Sql db
@RequestMapping("/test") def test() { db.firstRow("select 1) } }
|
总结
这套方案用上了Spring
,也用上了数据库连接池druid
,所以项目整体是足够健壮的。如果你的项目本来就是基于Spring
技术栈的,那我强烈推荐你试试结合Groovy
的这套打法。可以大幅提升开发效率。
亲自跑一下Groovy
项目,用用她提供的SQL
类,我想你会爱上她的
本文标题:在SpringBoot中使用groovy.sql.SQL高效开发
文章作者:牧云踏歌
发布时间:2018-08-29
最后更新:2018-08-29
原始链接:http://www.kankanzhijian.com/2018/08/29/groovy-sql-SQL-in-spring-boot/
版权声明:本博客文章均系本人原创,转载请注名出处