- 浏览: 538151 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (174)
- Groovy (28)
- Grails (14)
- DHTML (5)
- JS (4)
- jQuery (16)
- JAVA (16)
- Eclipse (4)
- Hibernate (2)
- Resin (2)
- Oracle (25)
- Maven (4)
- Struts2 (1)
- WebWork2 (3)
- Tomcat (2)
- Windows7 (4)
- Griffon (2)
- PowerDesigner (1)
- Pro*C (2)
- JDK (1)
- 乱码 (2)
- WebService (3)
- .NET (1)
- 性能 (2)
- 安装 (1)
- 命令行 (1)
- function (1)
- type (1)
- Mysql (1)
- 同步 (1)
- Synchronized (1)
- json (3)
- Office (1)
- Visio (1)
- 自定义形状 (1)
- jsong (0)
- gson (1)
- fastjson (1)
- EM (1)
- DB2 (6)
- Sequence (1)
- RHEL5.x (1)
- WAS6.1 ND (1)
- SQL (1)
- -964 (1)
- Linux (4)
- Date (1)
- Format (1)
- Add (1)
- SHELL (1)
- CSS (2)
- Bootstrap (1)
- nginx (1)
- Openresty (2)
- JWPlayer (1)
- showdoc (1)
- 常用网址 (1)
- lua (2)
- SpringBoot (1)
- Office pdf linux (1)
最新评论
-
纵观全局:
Great
阿里巴巴开源JSON解析组件FastJson简单使用笔记 -
guxuede:
...
Groovy编程技巧 -
a1439226817:
groovy用的多吗?我还没发现有哪个java项目在用这个?
Groovy同步 -
晴子9034:
在网上搜到的几乎全是说满了就扩充。但是我有个疑问,满了就扩充, ...
解决DB2 SQLCODE=-964日志文件满的问题 -
在世界的中心呼喚愛:
好东西啊,就用这个包。
阿里巴巴开源JSON解析组件FastJson简单使用笔记
原贴地址:http://www.groovyq.net/node/157
你还记得普通的 Java JDBC 编程么?如果查询表中的内容,至少需要30行代码。如果使用Groovy,代码不超过10行。
连接数据库
Groovy对Java JDBC API进行了封装,提供了一个Facade--Sql,从而隐藏了获取数据库连接、关闭资源等细节。用法如下:
import groovy.sql.Sql
db= Sql.newInstance(
"jdbc:mysql://localhost/iblog",
"username",
"password",
"com.mysql.jdbc.Driver")
查询
Sql对象中有很多查询方法,常用方式如下所示,
query(GString,Closure),对返回的ResultSet执行Closure,示例用法如下:
db.query("select content from blog", {
while (it.next()){
println it.getString("content")
}}
)
rows(GString),返回List。示例用法如下:
db.rows("select * from blog").each{row-> println row.content }
eachRow(GString,Closure),对结果集的每行执行Closure。示例用法如下:
db.eachRow ("select * from blog",{println it.comment_num})
firstRow(GString),返回结果集的第一条记录,示例用法如下:
db.firstRow ("select * from blog")
CUD
Sql提供的CUD方法也很多,常见的有:
execute(GString),execute(String)或者execute(string,paramsList),可用于增加、更新、删除记录;
executeInsert(GString),executeInsert(String)或者executeInsert(string,paramsList),用于增加记录;
executeUpdate(GString),executeUpdate(String)或者executeUpdate(string,paramsList),用于更新记录。
上述方法用法跟原始的Java代码用法类似,这里要重点介绍的是另外一种快捷增加记录的方法--DataSet。DataSet将SQL语句隐藏,将数据集放入到一个Map中。可以对这个Map中内容进行查询、增加。请看如下代码:
1
def blogs=db.dataSet('blog') /*new DataSet(db, 'blog')或者db.dataSet(Blog)*/
2
blogs.each{ println it }
3
blogs.add(
4
content:'dateset using',
5
author_id:3,
6
date_created:new Date())
7
blogs.findAll {it.id>1 }.sort{it.version desc}.each { println it }
从上述代码中可以看到,创建DateSet实例后,就能够获得一个Map,可以对这个Map执行findAll(whereClosure)以及sort(sortClosure)。而这里增加数据使用的是add(Map)方法。
在对数据库进行增加、更新或者删除时,需要考虑事务性,以保证数据的完整性。对于此,Groovy同样提供了一个非常方便的用法。对于需要在同一个事务中完成的代码,可以使用Sql或者DataSet的withTransaction(Closure)方法实现,参见如下代码:
view sourceprint?
1
db.withTransaction{
2
for (int i=0;i<5;i++){
3
blogs.add(
4
content:"dateset using"+i,
5
author_id:3,
6
date_created:new Date())
7
}
8
db.execute ("delete from iblog where i>20")
9
}
上述代码中,由于在第8行代码会出错,所以整段代码不会在blog表中插入新的纪录的。读者可以将withTransaction方法去掉,再看看程序运行的结果。
DataSet是不是简化了代码?但是DataSet不能取代SQL,DataSet只适用于单一的表,对于更复杂一些的结构比如JOIN返回的结果,就要使用SQL了。比如使用SQL将复杂的结果生成一个视图,之后用DataSet来访问这个视图。
上述这些就是Groovy提供的方法,它们使得跟数据库的交互变得轻松了许多!
本文使用Groovy 1.7.1。关于groovy.sql的中各个对象以及方法的详细参数请参见Groovy API。关于本文中用到的表结构请参见附件。
你还记得普通的 Java JDBC 编程么?如果查询表中的内容,至少需要30行代码。如果使用Groovy,代码不超过10行。
连接数据库
Groovy对Java JDBC API进行了封装,提供了一个Facade--Sql,从而隐藏了获取数据库连接、关闭资源等细节。用法如下:
import groovy.sql.Sql
db= Sql.newInstance(
"jdbc:mysql://localhost/iblog",
"username",
"password",
"com.mysql.jdbc.Driver")
查询
Sql对象中有很多查询方法,常用方式如下所示,
query(GString,Closure),对返回的ResultSet执行Closure,示例用法如下:
db.query("select content from blog", {
while (it.next()){
println it.getString("content")
}}
)
rows(GString),返回List。示例用法如下:
db.rows("select * from blog").each{row-> println row.content }
eachRow(GString,Closure),对结果集的每行执行Closure。示例用法如下:
db.eachRow ("select * from blog",{println it.comment_num})
firstRow(GString),返回结果集的第一条记录,示例用法如下:
db.firstRow ("select * from blog")
CUD
Sql提供的CUD方法也很多,常见的有:
execute(GString),execute(String)或者execute(string,paramsList),可用于增加、更新、删除记录;
executeInsert(GString),executeInsert(String)或者executeInsert(string,paramsList),用于增加记录;
executeUpdate(GString),executeUpdate(String)或者executeUpdate(string,paramsList),用于更新记录。
上述方法用法跟原始的Java代码用法类似,这里要重点介绍的是另外一种快捷增加记录的方法--DataSet。DataSet将SQL语句隐藏,将数据集放入到一个Map中。可以对这个Map中内容进行查询、增加。请看如下代码:
1
def blogs=db.dataSet('blog') /*new DataSet(db, 'blog')或者db.dataSet(Blog)*/
2
blogs.each{ println it }
3
blogs.add(
4
content:'dateset using',
5
author_id:3,
6
date_created:new Date())
7
blogs.findAll {it.id>1 }.sort{it.version desc}.each { println it }
从上述代码中可以看到,创建DateSet实例后,就能够获得一个Map,可以对这个Map执行findAll(whereClosure)以及sort(sortClosure)。而这里增加数据使用的是add(Map)方法。
在对数据库进行增加、更新或者删除时,需要考虑事务性,以保证数据的完整性。对于此,Groovy同样提供了一个非常方便的用法。对于需要在同一个事务中完成的代码,可以使用Sql或者DataSet的withTransaction(Closure)方法实现,参见如下代码:
view sourceprint?
1
db.withTransaction{
2
for (int i=0;i<5;i++){
3
blogs.add(
4
content:"dateset using"+i,
5
author_id:3,
6
date_created:new Date())
7
}
8
db.execute ("delete from iblog where i>20")
9
}
上述代码中,由于在第8行代码会出错,所以整段代码不会在blog表中插入新的纪录的。读者可以将withTransaction方法去掉,再看看程序运行的结果。
DataSet是不是简化了代码?但是DataSet不能取代SQL,DataSet只适用于单一的表,对于更复杂一些的结构比如JOIN返回的结果,就要使用SQL了。比如使用SQL将复杂的结果生成一个视图,之后用DataSet来访问这个视图。
上述这些就是Groovy提供的方法,它们使得跟数据库的交互变得轻松了许多!
本文使用Groovy 1.7.1。关于groovy.sql的中各个对象以及方法的详细参数请参见Groovy API。关于本文中用到的表结构请参见附件。
发表评论
-
阿里巴巴开源JSON解析组件FastJson简单使用笔记
2012-07-13 15:02 50857惯例,直接上代码,环境:groovy1.8.6+jdk1.6. ... -
Gson使用笔记
2012-07-13 14:56 1693直接看代码,环境为groovy1.8.6+jdk1.5.31, ... -
Groovy同步
2012-05-30 14:30 1798原贴点击这里 在 groovy 中同步 我的项目与 gro ... -
Grails编写WebService客户端
2012-05-28 13:39 2854环境:jdk1.6.0.31 + Grails2.0.4 1. ... -
groovy编写webservice服务端和客户端(含连接数据并输出JSON数据)
2012-05-25 16:45 3053个人总结,网上几乎没有此方面资料,有一篇帖子,按照其内容无法运 ... -
使用Groovy进行Socket编程之-字节数组版
2011-12-30 14:53 3525服务端代码: import java.net.Server ... -
Groovy连接2个数据库进行数据操作
2011-11-21 11:37 2091import groovy.sql.Sql clas ... -
(转)Groovy 1.8中的超炫JSON支持
2011-07-29 14:51 2302http://www.groovyq.net/content/ ... -
(转)打动你朋友的11条Groovy超炫代码
2011-07-21 16:20 1471http://www.groovyq.net/content/ ... -
Groovy 浅入
2010-08-31 13:53 1992转贴地址:http://nottiansyf.iteye.co ... -
一个Grovvy开发者的总结!
2010-08-09 15:58 2695转自:http://blog.donews.com/WFoxd ... -
实战 Groovy: 构建和解析 XML
2010-08-09 15:39 1461原贴地址:http://www.ibm.com/develop ... -
如何使用groovyc 和 groovy
2010-08-09 15:32 3226开发人员可直接调用Groovy编译器来编译脚本文件,命令 ... -
Groovy脚本文件里边静态main方法
2010-08-09 15:30 1224class Test2 {//含有static void ... -
Groovy中文件追加和日期格式化
2010-08-09 15:28 1968new File("record.txt" ... -
Groovy配置文件的读写
2010-08-09 15:26 5076import org.asdtiang.util.DESC ... -
Groovy DES加解密
2010-08-09 15:25 2350import java.security.* import ... -
(转)HTTPBuilder:使用Groovy操作HTTP资源
2010-08-09 15:20 3747如今的Web,孤立的应用已经不再吃香,随之而来的是与其 ... -
使用Groovy进行Socket编程之-普通文本版
2010-08-03 12:27 2648服务端代码: import java.net.Serve ... -
Groovy grep的应用:对得出的数据列表集合进行过滤
2010-01-13 11:41 1972对得出的数据列表集合进行过滤: de ...
相关推荐
3. **JDBC编程**: Groovy提供了一种更加灵活的方式来处理数据库操作,比如查询和事务管理。 4. **MVC编程**: Groovy可以用于实现MVC架构的应用程序,通过Groovy模板引擎来处理视图层逻辑。 5. **服务器端开发**: ...
Groovy不仅支持传统的面向对象编程特性,还支持函数式编程风格,这使得它成为Java平台上一个非常有用的工具。此外,Groovy还有丰富的元编程能力,可以极大地提高开发效率。 #### 二、Groovy的基础语法 1. **变量...
标题中的“groovy编写webservice服务端和客户端(含连接数据并输出JSON数据)”表明了本文将探讨如何使用Groovy编程语言来构建Web服务的服务器端和客户端,并且这些服务会涉及与数据库的交互以及JSON数据的处理。...
- **RESTful Web Services简介**: RESTful架构风格的特点与优势。 - **构建RESTful服务**: 使用Java EE 7中的JSR 370(JAX-RS)规范开发RESTful Web服务。 - **客户端调用**: 如何通过客户端应用程序调用RESTful服务。...
4. **Groovy支持**:Spring 3.0增加了对Groovy的支持,允许开发者使用Groovy脚本进行配置,使得配置更加灵活和简洁。 5. **增强的AOP功能**:AOP在3.0版本中进行了扩展,包括更丰富的通知类型和更强大的切入点...
在3.0版本中,Spring AOP(面向切面编程)对AspectJ的支持进一步加强,包括编译时编织(CTW)和加载时编织(LTW)。这使得开发者可以更方便地使用AspectJ来定义和执行切面,提高代码的整洁度和可复用性。 5. **...
动态语言如Python、Ruby等以其简洁性和灵活性受到欢迎,它们支持多种编程风格,如命令式、面向对象、函数式和面向切面编程,极大地提高了开发效率。尽管性能上可能不如静态编译语言,但其在快速原型开发和脚本编写上...
1. **动态语言支持**:JDK 6引入了JSR 223(Scripting for the Java Platform),使得在Java中可以方便地使用脚本语言,如JavaScript、Groovy等。 2. **改进的Swing UI**:Swing组件得到了增强,例如JTable和JTree的...
3. **Groovy支持**:可以使用Groovy脚本作为配置语言,使配置更加简洁。 4. **改进的类型安全依赖注入**:使用泛型增强依赖注入,避免了类型转换错误。 5. **表达式语言(Spring EL)**:提供了强大的表达式语言,...
3. 强大的MVC框架:Spring MVC 3.2增强了对RESTful风格的支持,以及对静态资源处理和模板引擎的改进,提升了Web应用的开发体验。 4. 配置简化:通过Java配置和@Configuration注解,可以更加直观地定义bean及其依赖...
1. Groovy配置:Groovy配置让开发者可以使用更加自然的语言风格进行配置,减少了XML的繁琐,提高了开发效率。 2. @Profile注解:该注解允许开发者根据运行环境(如开发、测试、生产)动态地选择加载哪些配置,增强...
4. 集成了Groovy脚本支持:开发者可以通过Groovy来编写配置,增加了灵活性,降低了复杂性。 5. AOP改进:对通知(advisors)和切入点(pointcuts)的处理更加高效,同时增强了对环绕通知的支持。 6. 数据访问增强...
- **Groovy**:Spring支持使用Groovy作为配置语言,简化XML配置。 - **Kotlin集成**:Spring与Kotlin的良好兼容,提供了Kotlin的注解处理器和方言。 7. **数据访问模块(data-access.pdf)**: - **JDBC抽象层**...
15. **Groovy支持**:4.0版本增强了对Groovy的支持,允许开发者使用Groovy编写配置和脚本。 综上所述,Spring Framework 4.0是一次重要的更新,它不仅提升了性能,还引入了对现代编程语言和网络协议的支持,进一步...
8. **支持Groovy**:引入了对Groovy的支持,可以方便地创建Groovy-based的Bean定义和脚本。 **API文档** API文档是理解任何框架或库的关键资源,Spring 3.0的API文档通常包括以下内容: 1. **类和接口详解**:详尽...
在 Spring 3.2 版本中,主要的 jar 包可能包括 spring-core、spring-beans、spring-context、spring-aop、spring-web、spring-jdbc 等,这些组件分别负责基础服务、bean 管理、上下文支持、面向切面编程以及 Web ...
1. **Spring核心**:Spring的核心组件包括IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。IoC通过依赖注入来管理对象的生命周期和依赖关系,使代码更加灵活和解耦。AOP...
3. **Java EE**:Java Platform, Enterprise Edition(Java EE)提供了一系列企业级的开发框架和服务,如 JDBC(Java Database Connectivity)用于数据库访问,JMS(Java Message Service)用于消息传递,EJB...
在4.1.5版本中,配置元数据支持XML、Java注解和Groovy,使得应用程序的装配方式更加多样。Bean的生命周期管理也得到了加强,包括初始化回调、销毁回调以及自定义生命周期策略。 二、AOP(面向切面编程) Spring的...
6. **支持Groovy脚本**:Spring 3.x引入了对Groovy的支持,可以使用Groovy编写配置和bean定义,增加了代码的灵活性。 7. **对JPA和JDBC的增强**:Spring 3.x加强了对Java Persistence API(JPA)和Java Database ...