पूर्ण एसक्यूएल डाटाबेस
h2 प्रक्रिया में SQL डेटाबेस का उपयोग करने के बहुत आसान है।
@GrabConfig(systemClassLoader=true)
@Grab(group='com.h2database', module='h2', version='1.3.167')
import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:h2:hello", "sa", "sa", "org.h2.Driver")
sql.execute("create table test (id int, value text)")
sql.execute("insert into test values(:id, :value)", [id: 1, value: 'hello'])
println sql.rows("select * from test")
इस मामले में डेटाबेस hello.h2.db
नामक एक फ़ाइल में सहेजा जाएगा: यह एक ही डेटाबेस इंजन grails डिफ़ॉल्ट रूप से उपयोग करता है, लेकिन यह भी एक ग्रूवी लिपि में उपयोग करने के लिए आसान है।
सरल लगातार मैप्स
एक अन्य विकल्प jdbm है, जो डिस्क समर्थित लगातार नक्शे प्रदान करता है। आंतरिक रूप से, यह जावा के क्रमिकरण का उपयोग करता है। प्रोग्रामिंग इंटरफेस बहुत आसान है, लेकिन यह एक पूर्ण उड़ा एसक्यूएल डीबी से भी कम शक्तिशाली है। समवर्ती पहुंच के लिए कोई समर्थन नहीं है, लेकिन यह सिंक्रनाइज़ और थ्रेड सुरक्षित है, जो आपकी लॉकिंग आवश्यकताओं के आधार पर पर्याप्त हो सकता है। यहां एक साधारण उदाहरण दिया गया है:
@Grab(group='org.fusesource.jdbm', module='jdbm', version='2.0.1')
import jdbm.*
def recMan = RecordManagerFactory.createRecordManager('hello')
def treeMap = recMan.treeMap("test")
treeMap[1] = 'hello'
treeMap[100] = 'goodbye'
recMan.commit()
println treeMap
यह मानचित्र को फ़ाइलों के एक समूह में सहेज देगा।