Skip to content

Instantly share code, notes, and snippets.

View kevintanhongann's full-sized avatar
🏠
Working from the cafe

Kevin H.A Tan kevintanhongann

🏠
Working from the cafe
View GitHub Profile
@kevintanhongann
kevintanhongann / BootstrapTagLib.groovy
Created August 30, 2019 06:20
Paginate taglib that is themed with Bootstrap 3/4
import grails.util.TypeConvertingMap
import grails.web.mapping.UrlMapping
import org.springframework.web.servlet.support.RequestContextUtils
class BootstrapTagLib {
static namespace = "boots"
Closure paginate = { Map attrsMap ->
TypeConvertingMap attrs = (TypeConvertingMap)attrsMap
@kevintanhongann
kevintanhongann / application.yml
Created March 24, 2019 04:56
example-micronaut-gorm application.yml
micronaut:
application:
name: example-micronaut-gorm
dataSource:
pooled: true
dbCreate: create-drop
url: jdbc:h2:mem:devDb
driverClassName: org.h2.Driver
username: sa
password:
@kevintanhongann
kevintanhongann / PersonController.groovy
Created March 8, 2019 04:21
example-micronaut-gorm code snippet 5
package example.micronaut.gorm.controller
import example.micronaut.gorm.domain.Person
import example.micronaut.gorm.service.PersonService
import io.micronaut.http.HttpResponse
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Delete
import io.micronaut.http.annotation.Get
import io.micronaut.http.annotation.Post
import io.micronaut.http.annotation.Put
@kevintanhongann
kevintanhongann / Bootstrap.groovy
Created March 8, 2019 04:19
example-micronaut-gorm code snippet 4
package example.micronaut.gorm
import example.micronaut.gorm.domain.Person
import example.micronaut.gorm.service.PersonService
import io.micronaut.context.event.StartupEvent
import io.micronaut.runtime.event.annotation.EventListener
import javax.inject.Singleton
@Singleton
@kevintanhongann
kevintanhongann / PersonService.groovy
Created March 8, 2019 04:04
example-micronaut-gorm code snippet 3
package example.micronaut.gorm.service
import example.micronaut.gorm.domain.Person
import grails.gorm.services.Service
import groovy.transform.CompileStatic
import javax.inject.Singleton
@Service(Person)
@CompileStatic
@kevintanhongann
kevintanhongann / PersonService.groovy
Created March 8, 2019 04:04
example-micronaut-gorm code snippet 3
package example.micronaut.gorm.service
import example.micronaut.gorm.domain.Person
import grails.gorm.services.Service
import groovy.transform.CompileStatic
import javax.inject.Singleton
@Service(Person)
@CompileStatic
@kevintanhongann
kevintanhongann / gist:8f3d7b72a5a35595be113d94a571e8f2
Last active March 9, 2019 05:30
example-micronaut-gorm commands
1. Install SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version
2. Install Micronaut through sdk command
@kevintanhongann
kevintanhongann / Person.groovy
Created March 8, 2019 03:48
example-micronaut-gorm code snippets 2
package example.micronaut.gorm.domain
import grails.gorm.annotation.Entity
@Entity
class Person {
String name
String email
@kevintanhongann
kevintanhongann / build.gradle
Last active March 8, 2019 03:47
example-micronaut-gorm code snippets
plugins {
id "io.spring.dependency-management" version "1.0.6.RELEASE"
id "com.github.johnrengelman.shadow" version "4.0.2"
}
apply plugin:"application"
apply plugin:"groovy"
version "0.1"
group "example.micronaut.gorm"
@kevintanhongann
kevintanhongann / Grails: createCriteria query, group by day, on a single date field Grails: createCriteria query, group by day, on a single date field (modify for grouping by month, year, hour, minute, seconds)
DOMAIN CLASS (Post):
String timeDay
Date date
static mapping = {
timeDay formula: "FORMATDATETIME(date, 'yyyy-MM-dd')" // h2 sql
//timeMonth formula: "DATE_FORMAT(time, '%Y-%m-%d')" // mysql sql
}
CONTROLLER:
def c = Post.createCriteria()