⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqltest.groovy

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 GROOVY
字号:
package groovy.sqlimport org.axiondb.jdbc.AxionDataSource/** * This is more of a sample program than a unit test and is here as an easy * to read demo of GDO. The actual full unit test case is in SqlCompleteTest */class SqlTest extends GroovyTestCase {    void testSqlQuery() {        def sql = createSql()                sql.eachRow("select * from PERSON") { println("Hello ${it.firstname} ${it.lastname}") }    }        void testQueryUsingColumnIndex() {            def sql = createSql()            def answer = null            sql.eachRow("select count(*) from PERSON") { answer = it[0] }            println "Found the count of ${answer}"            assert answer == 3        }        void testQueryUsingNegativeColumnIndex() {            def sql = createSql()        def first = null        def last = null            sql.eachRow("select firstname, lastname from PERSON where firstname='James'") { row ->                first = row[-2]                last = row[-1]            }            println "Found name ${first} ${last}"            assert first == "James"            assert last == "Strachan"    }        void testSqlQueryWithWhereClause() {        def sql = createSql()                def foo = "drink"        sql.eachRow("select * from FOOD where type=${foo}") { println("Drink ${it.name}") }    }        void testSqlQueryWithWhereClauseWith2Arguments() {        def sql = createSql()                def foo = "cheese"        def bar = "edam"        sql.eachRow("select * from FOOD where type=${foo} and name != ${bar}") { println("Found cheese ${it.name}") }    }        void testSqlQueryWithIncorrectlyQuotedDynamicExpressions() {        def sql = createSql()                def foo = "cheese"        def bar = "edam"        sql.eachRow("select * from FOOD where type='${foo}' and name != '${bar}'") { println("Found cheese ${it.name}") }    }        void testDataSet() {        def sql = createSql()                def people = sql.dataSet("PERSON")        people.each { println("Hey ${it.firstname}") }    }        void testDataSetWithClosurePredicate() {        def sql = createSql()                def food = sql.dataSet("FOOD")        food.findAll { it.type == "cheese" }.each { println("Cheese ${it.name}") }    }        void testExecuteUpdate(){        def foo='food-drink'        def bar='guinness'        def sql = createSql();        def nRows = sql.executeUpdate("update FOOD set type=? where name=?",[foo,bar]);        if(nRows == 0){            sql.executeUpdate("insert into FOOD (type,name) values (${foo},${bar})");            }    }        protected def createSql() {        def dataSource = new AxionDataSource("jdbc:axiondb:foo" + getMethodName())        def sql = new Sql(dataSource)                sql.execute("create table PERSON ( firstname varchar, lastname varchar )")             sql.execute("create table FOOD ( type varchar, name varchar)")                // now lets populate the datasets        def people = sql.dataSet("PERSON")        people.add( firstname:"James", lastname:"Strachan" )        people.add( firstname:"Bob", lastname:"Mcwhirter" )        people.add( firstname:"Sam", lastname:"Pullara" )                def food = sql.dataSet("FOOD")        food.add( type:"cheese", name:"edam" )        food.add( type:"cheese", name:"brie" )        food.add( type:"cheese", name:"cheddar" )        food.add( type:"drink", name:"beer" )        food.add( type:"drink", name:"coffee" )                return sql    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -