grails调用存储过程(Grails : calling a stored procedure)

[转载]grails调用存储过程(Grails : calling a stored procedure)
  在特殊情况下,grails应用需要调用数据库的存储过程,这在grails的官方文档里边好像没有提到过,在 james的blog里介绍如何解决这个问题。
    代码转贴如下
java 代码
 
  1. class MainController {  
  2.   
  3.   def dataSource // using the datasource we define in the spring's resources.xml  
  4.   
  5.   def index = {  
  6.       Sql sql = new Sql(dataSource)  
  7.       def row = sql.execute("call create_daily_hours(${new Date()+1})")  
  8.   }  
  9. }  
  需要说明的一些是:grails本身没有提供访问存储过程的便捷方法,而groovy的 GSQL提供了,因此grails可以直接拿过来用了,当然也可以用spring的JdbcTemplate。
  希望对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

你可能感兴趣的:(grails调用存储过程(Grails : calling a stored procedure))