Basics
Step 1
package com.app.mappers
class Item {
Long id
String label
}Step 2
package com.app.mappers
interface ItemMapper {
Item findById(Long id)
}Step 3
Step 4
Step 5

Last updated
package com.app.mappers
class Item {
Long id
String label
}package com.app.mappers
interface ItemMapper {
Item findById(Long id)
}
Last updated
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.app.mappers.ItemMapper">
<select id="findById" resultType="com.app.mappers.Item">
select * from Item where id = #{id}
</select>
</mapper>import javax.sql.DataSource
import java.sql.Statement
class BootStrap {
DataSource dataSource
def init = { servletContext ->
Statement statement = dataSource.getConnection().createStatement()
statement.execute("CREATE TABLE Item (id INTEGER NOT NULL, label VARCHAR(255))")
statement.execute("INSERT INTO Item (id, label) VALUES (1, 'Sample')")
statement.close()
}
def destroy = {
}
}package app
import com.app.mappers.Item
import com.app.mappers.ItemMapper
import com.vaadin.grails.Grails
import com.vaadin.server.VaadinRequest
import com.vaadin.ui.Label
import com.vaadin.ui.UI
import com.vaadin.ui.VerticalLayout
class MyUI extends UI {
@Override
protected void init(VaadinRequest request) {
VerticalLayout layout = new VerticalLayout()
ItemMapper itemMapper = Grails.get(ItemMapper)
Item item = itemMapper.findById(1)
Label label = new Label(item.label)
layout.addComponent(label)
setContent(layout)
}
}