Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
488
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.95 KB | None | 0 0
  1. /**
  2.  * Created by Vaggelis on 26/7/2017.
  3.  */
  4.  
  5. import groovy.sql.Sql
  6. // import grails.util.Holders.ConfigurationHolder as CH
  7. // PRODUCED ERROR: Error:(6, 1) Groovyc: unable to resolve class grails.util.Holders.ConfigurationHolder
  8.  
  9.  
  10. static void main(String[] args)
  11. {
  12.     def sql = Sql.newInstance("jdbc:mysql://localhost:3306/test", "root","", "com.mysql.jdbc.Driver")
  13.  
  14.     // delete the table
  15.     sql.execute('drop table users')
  16.  
  17.     //Create table users
  18.     sql.execute('create table users(id INT NOT NULL AUTO_INCREMENT,name VARCHAR(15) NOT NULL,email VARCHAR(15), PRIMARY KEY(id))')
  19.  
  20.     //Insert some values
  21.     sql.execute('insert into users values(null,"John Doe","jd@test.com")')
  22.     sql.execute('insert into users values(null,"Joe Parker","jp@test.com")')
  23.     sql.execute('insert into users values(null,"Tom Pecker","tp@test.com")')
  24.  
  25.     //We can also insert by prepared statements by
  26.     sql.execute('insert into users values(null,?,?)',['Jill Peter','jill@test.com'])
  27.  
  28.     //Or for better reuse
  29.     def InsertQuery = "insert into users values(null,?,?)"
  30.     sql.execute(InsertQuery,['Harry Costa','hc@test.com'])
  31.  
  32.     //Print single row
  33.     println "\n------------------------------Print Single Row--------------------------------------------------------\n"
  34.     def row = sql.firstRow('select * from users where name = "John Doe"')
  35.     println "Row: id = ${row.id} and email = ${row.email}"
  36.  
  37.     //Printing Multiple rows with rows (user handles each row with each)
  38.     println "\n------------------------------Print Multiple Rows (using rows)----------------------------------------\n"
  39.     println "ID    NAME         EMAIL"
  40.     def fetch = sql.rows("select * from users")
  41.     fetch.each { it ->
  42.         println it.id + " " + it.name + " " +it.email
  43.     }
  44.  
  45.     //Printing Multiple rows with eachRow (closure passed in as the second parameter should handle each row)
  46.     println "\n------------------------------Print Multiple Rows (using eachRow)-------------------------------------\n"
  47.     sql.eachRow("select * from users") { printrow ->
  48.         println "$printrow.id $printrow.name $printrow.email"
  49.     }
  50.  
  51.     //Delete a row
  52.     println "\n------------------------------Delete an entry from table----------------------------------------------\n"
  53.     sql.execute('delete from users where id = ?' , [5])
  54.     printDbValues(sql)
  55.  
  56.     //Update a value
  57.     println "\n------------------------------Update an entry in table------------------------------------------------\n"
  58.     sql.executeUpdate('update users set email = ? where id=4', ["pj@test.com"])
  59.     printDbValues(sql)
  60.  
  61.     //Define a function for print reuse
  62.     println "\n------------------------------------------------------------------------------------------------------\n"
  63.  
  64. }
  65.  
  66. def printDbValues(sql)
  67. {
  68.     sql.eachRow("select * from users")
  69.             {
  70.                 printrow ->
  71.                     println "$printrow.id $printrow.name $printrow.email"
  72.             }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement