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&rt;org.hsqldb.jdbcDriver</value>
</property>
<property name="url">
<value&rt;jdbc:hsqldb:hsql://localhost</value>
</property>
<property name="username">
<value&rt;sa</value>
</property>
<property name="password">
<value&rt;</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.
Showing posts with label jdbc. Show all posts
Showing posts with label jdbc. Show all posts
Thursday, March 15, 2007
Grails : calling a stored procedure
Posted by
james_027
at
12:50 PM
228
comments
Subscribe to:
Posts (Atom)