groovy中對檔案,集合,測試,資料庫的操作例子
阿新 • • 發佈:2019-01-05
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] // 使用* 操作符平坦化該列表 } }