`
沙舟狼客
  • 浏览: 161715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

groovy中对文件,集合,测试,数据库的操作例子

阅读更多

package com.mygroovy.test;

import java.io.File;
import java.util.List;

import org.junit.Test;

import groovy.sql.Sql;

import static org.junit.Assert.*;

class SQLTest {
	public static Sql getSql(){
		String url  = "jdbc:mysql://localhost:3306/user_dev";
		String username = "root";
		String password = "519241";
		String driverClass = "org.gjt.mm.mysql.Driver";
		//相当于一个connection
		return Sql.newInstance (url, username, password, driverClass);
	} 
	@Test
	public void test(){
		Sql sql = getSql();
		//直接循环ResultSet,row是固定写法,相当于一行的游标
		sql.eachRow "select * from ut_user", {row->
			println row.name
		}
		//只取出结果的第一条,并合成一个对象返回
		def user = sql.firstRow("select * from ut_user");
		println user
		//把结果集合成对象,并放进一list对象中
		List<User> list = sql.rows("select * from ut_user");
		//循环各种集合,it相当于每次的一个结果
		list.each {
			println(it);
		}
		
		//sql.execute("insert");
		
		//sql.execute("create table book(id int primary key,name char(20))");
		//sql.execute("drop table book;");
		//输出一个文件的内容,按行输出
		def file = new File("C:/software/QQLicense.txt");
		file.eachLine{println it} 
		
		def str = "abc";
		str<<"d";
		println str;
		println str<<"d";
		println str+"e";
		println str-"a";
		
		//测试直接集成,用assert即可
		assert 1.class==Integer
		println 1.01.class
		println 1.0f.class
		println 1.0d.class
		
		def arr = [21,51,14,25,84,214,3];
		//放便的自然排序
		println arr.sort();
		//..相当于在1到3中间,包括两端的数字,
		assert [1..3] == [[1,2,3]]
		assert [*1..3] == [1,2,3] // 使用* 操作符平坦化该列表
	}
}
 
分享到:
评论
1 楼 沙舟狼客 2011-04-15  
我有一个集合[[name:test1,age:12],[name:test2,age:12],[name:test3,age:12]],不知道能不能直接取出name=test2的,集合[name=test2]?

相关推荐

    Groovy in Action[文字版][中文]

    6. **Grails框架**:Groovy也因为其Grails框架而广为人知,这是一个基于Groovy的全栈Web开发框架,它简化了创建RESTful服务、数据库操作和视图渲染等工作,提高了开发速度。 7. **Spock测试框架**:Groovy还拥有...

    Groovy in Action 配套源码

    "Action"在这里可能是指书中介绍的各种操作或技术实践,例如文件操作、网络请求、数据库交互等。通过实践这些Action,读者可以加深对Groovy语言特性和应用的理解。 源码通常包含以下几个方面的知识点: 1. **基础...

    spring data redis 小例子

    Redis是一个开源的、基于键值对的数据存储系统,它支持多种数据结构,如字符串、哈希、列表、集合和有序集合。这使得Redis特别适合用作缓存、消息代理和持久化数据存储。 在Spring Data Redis中,你可以定义...

    iReport+Jasperreports中文教程集合

    7. **实战案例**:提供实际项目中的例子,帮助开发者将理论知识应用到实践中。 通过这个教程集合,开发者不仅可以学习到iReport和JasperReports的基本使用,还能了解到报表设计的最佳实践,提升报表开发的技能。

    java mongodb 连接

    在这个例子中,使用的是mongo-2.10.1.jar。在现代项目中,通常会通过Maven或Gradle等构建工具来管理依赖,添加如下依赖到你的pom.xml(Maven)或build.gradle(Gradle)文件中: Maven: ```xml &lt;groupId&gt;org....

    Spring Boot如何使用HikariCP连接池详解

    在这个例子中,`CommandLineRunner`接口使得在应用启动后自动运行`run`方法,从而创建并打印数据库连接。 总结: Spring Boot结合HikariCP提供了便捷而高效的数据库连接管理。通过简单的依赖引入和配置,开发者...

    ant构建以及基本运用

    Ant可以集成JavaScript、Groovy等脚本语言,以实现更复杂的逻辑操作。 7. 使用Ant进行部署: 除了构建过程,Ant也可以用于部署应用程序,包括发布到远程服务器、数据库连接等。 8. Maven与Ant的比较: 虽然...

    java连接mongodb3.4.2所需jar

    在这个例子中,我们首先创建一个`MongoClient`实例,然后通过`getDatabase()`方法获取名为"myDatabase"的数据库。注意,实际使用时你需要替换"localhost"和27017为你的MongoDB服务器的实际地址和端口。 MongoDB ...

    vertx案例集合

    【标题】"vertx案例集合"揭示了Vert.x框架在实际应用中的多样性,它是一个高度灵活的工具,专为构建高性能、反应式的分布式系统而设计。这个框架支持Java、JavaScript、Ruby、Groovy、Ceylon等多种编程语言,极大地...

    Beginning Java 7 - Code from the Book

    1. **自动资源管理(Automatic Resource Management, ARM)**:Java 7引入了try-with-resources语句,简化了对实现了`AutoCloseable`接口的资源的管理,如文件流、数据库连接等。在try语句块中声明的这些资源会在块...

    spring4.0-mogo java driver 整合jar

    在我们的例子中,"mongo_java_依赖包"可能包含的是Mogo Java Driver的单独依赖,如果你不使用Spring Data MongoDB,而是直接使用Mogo Java Driver进行操作,那么你需要手动初始化MongoClient,创建MongoDatabase和...

    Spring Boot 与 Kotlin 使用Redis数据库的配置方法

    在这个例子中,`User`是你的实体类,`Long`是主键类型。Spring Data Redis会自动处理与Redis的交互。 此外,如果你需要更复杂的操作,可以利用`RedisTemplate`和`StringRedisTemplate`。例如,存储和获取一个字符串...

    Spring boot 集成 redis (解决String类型乱码) 缓存用redis

    在这个例子中,`@Cacheable`注解表示当调用getUser方法时,如果缓存中存在key为"id"的用户,就直接返回,否则执行方法并把结果存入缓存。 最后,启动Spring Boot应用,现在你的系统已经集成了Redis缓存,并解决了...

    Spring+SpringMVC+MyBatis返回json所需jar包

    在上面的例子中,`myService.getData()`返回的对象会被Jackson自动转换为JSON格式,并发送到客户端。 总结,SSM框架返回JSON数据主要依赖于Jackson库。通过引入相关依赖,配置SpringMVC和MyBatis,以及编写合适的...

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 ...

    struts开发需要的包

    2. **Struts EL**: `struts-el-1.3.5.jar` 提供了对Expression Language(EL)的支持,这是一种轻量级的脚本语言,用于在JSP页面中访问和操作JavaBean属性,提高了页面的可读性和可维护性。 3. **Struts Taglib**: ...

    andorid-饼状图.rar

    在实际项目中,数据通常来自服务器或数据库,你需要动态生成`PieEntry`并更新图表。此外,为了提供更好的用户体验,还可以考虑优化图表的性能,如只在需要时加载数据,或者使用异步加载方式。 总结,Android饼状图...

    javaSE代码实例

    14.9 集合元素的常用操作 314 14.9.1 元素排序 315 14.9.2 搜索特定元素 316 14.9.3 任意打乱元素顺序 317 14.9.4 其他的简单操作 318 14.10 小结 320 第15章 内部类——Java世界的多面手 321 15.1 ...

    【android开发】颜色选择器,免费

    在这个例子中,当用户改变滑动条时,`updateColor()`方法会被调用,根据当前红、绿、蓝分量生成新的颜色,并显示在预览区域。 除了基本的颜色选择器,还可以考虑添加其他功能,如alpha通道控制、十六进制颜色输入、...

Global site tag (gtag.js) - Google Analytics