Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-7817

Rewrite our sql tutorials to favour datasource over connection (and document any potential jdk9 limitations)


    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:


      In JDK9 using the system loader is not going to work any longer with @Grab. This imposes a problem for scripts in our tutorials, which demo database usage. Since changing the database driver access mechanism to use the loader of the Groovy runtime instead of the system loader is not solving the problem I suggest to really update that old java 1.2 usage of jdbc and migrate all our scripts to datasources.

      As an example of datasource usage:

      @Grab(group='com.h2database', module='h2', version='1.3.168')
      import groovy.sql.Sql
      import org.h2.jdbcx.JdbcDataSource;
      def ds = new JdbcDataSource(URL: "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", user: "sa", password: "sa");
      def sql = Sql.newInstance(ds)
      sql.execute '''
           create table PROJECT (
               id integer not null,
               name varchar(50),
               url varchar(100),
      def params = [10, 'Groovy', 'http://groovy.codehaus.org']
      sql.execute 'insert into PROJECT (id, name, url) values (?, ?, ?)', params
      println 'Some GR8 projects:'
      sql.eachRow('select * from PROJECT') { row ->
          println "${row.name.padRight(10)} ($row.url)"

      the example is largely copied from the SQL javadoc or our documentation... as can be seen those largely still sue the codehaus urls as well




            • Assignee:
              blackdrag Jochen Theodorou
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: