??? 代碼轉貼如下
java 代碼
- class?MainController?{??
- ??
- ??def?dataSource?//?using?the?datasource?we?define?in?the?spring's?resources.xml??
- ??
- ??def?index?=?{??
- ??????Sql?sql?=?new?Sql(dataSource)??
- ??????def?row?=?sql.execute("call?create_daily_hours(${new?Date()+1})")??
- ??}??
- }??
? 希望對grails用戶有點用。
原文地址:http://grails.group.javaeye.com/group/blog/86666
My experience with grails is getting richer the longer I use it for web application developing. It's very nice that grails is built on top of spring framework which we can take advantage of. I am not a spring user before but with a help from the nice people at the grails forum I was able to achieve what I want to do.
Calling a stored procedure from a MySQL database or any other database is simple. First we need a datasource which spring could provide for us. I have the following code place in the resources.xml found in the spring folder in your grails folder.
<bean id="dataSource" class=" org.apache.commons.dbcp.BasicDataSource ">
<property name="driverClassName">
<value>org.hsqldb.jdbcDriver</value>
</property>
<property name="url">
<value>jdbc:hsqldb:hsql://localhost</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
I use connection pooling for better performance. In my controller here is how I use the datasource to call a store procedure.
class MainController {
def dataSource // using the datasource we define in the spring's resources.xml
def index = {
Sql sql = new Sql(dataSource)
def row = sql.execute("call create_daily_hours(${new Date()+1})")
}
}
That's it! Notice that I am using Groovy SQL instead of Spring JDBCTemplate. It's a lot more friendlier for a beginner.
Grails really makes everything easy here and provides a lot of flexibility thanks to it's nice integration with spring. From here everything is possible.
原文地址:http://james-says.blogspot.com/2007/03/grails-little-of-spring-framework.html
附:朝花夕拾——Groovy & Grails