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] // 使用* 操作符平坦化該列表
}
}