Advertisement
Guest User

Untitled

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