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)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            blackdrag Jochen Theodorou
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: