2012-07-06 20 views
5

Tôi là người mới ở Grails và tôi có một nghi ngờ. Giả sử tôi có Datasource.groovy được định cấu hình thành cơ sở dữ liệu mysql. Tất cả mọi thứ hoạt động tốt và ứng dụng grails của tôi đang chạy.Làm cách nào để nhận được cá thể cơ sở dữ liệu trong grails?

Trong bộ điều khiển, nếu tôi muốn thêm/sửa đổi cơ sở dữ liệu mà tôi đã đặt trong DataSource.groovy cách tôi có thể thực hiện điều đó?

Một lần nữa tôi cần phải làm một cái gì đó như thế này trong mỗi bộ điều khiển:

def db = Sql.newInstance(
        'jdbc:mysql://*****', 
        'root', 
        '', 
        'com.mysql.jdbc.Driver' 
       ) 

để có được dụ db mà tôi trỏ đến DataSource.groovy tập tin?

Có cách nào hay nhất để làm như vậy không?

Trả lời

5

Bạn sẽ có thể làm được điều này (Tôi muốn giới thiệu này được thực hiện trong một dịch vụ chứ không phải là một điều khiển, vì nó sẽ làm cho các bộ điều khiển của bạn sạch hơn và bạn mã hóa dễ dàng hơn để làm theo)

import groovy.sql.Sql 

class DataSourceAccessingService { 
    def datasource 

    def runSomeQuery(String sql) { 
    def sql = new Sql(datasource) 
    ... 
    } 
} 
+1

Oh thậm chí 'DataSource .groovy' có thể được tiêm! Thats tuyệt vời về grails! – batman

Các vấn đề liên quan