public Sql2oTest(Driver driverToRegister, String url, String user, String pass, String testName) { if (driverToRegister != null) { try { DriverManager.registerDriver(driverToRegister); } catch (SQLException e) { throw new RuntimeException( "could not register driver '" + driverToRegister.getClass().getName() + "'", e); } } this.sql2o = new Sql2o(url, user, pass); HashMap<String, String> defaultColumnMap = new HashMap<String, String>(); defaultColumnMap.put("ID", "id"); defaultColumnMap.put("NAME", "name"); defaultColumnMap.put("EMAIL", "email"); defaultColumnMap.put("TEXT", "text"); defaultColumnMap.put("ANUMBER", "aNumber"); defaultColumnMap.put("ALONGNUMBER", "aLongNumber"); sql2o.setDefaultColumnMappings(defaultColumnMap); this.url = url; this.user = user; this.pass = pass; if ("HyperSQL DB test".equals(testName)) { sql2o.createQuery("set database sql syntax MSS true").executeUpdate(); } }
@Test public void testGlobalDbMappings() { Sql2o sql2o1 = new Sql2o(url, user, pass); Map<String, String> defaultColMaps = new HashMap<String, String>(); defaultColMaps.put("caption", "text"); defaultColMaps.put("theTime", "time"); sql2o1.setDefaultColumnMappings(defaultColMaps); Entity entity = sql2o1 .createQuery( "select 1 as id, 'something' as caption, cast('2011-01-01' as date) as theTime from (values(0))") .executeAndFetchFirst(Entity.class); assertEquals(1, entity.id); assertEquals("something", entity.text); assertEquals(new DateTime(2011, 1, 1, 0, 0, 0, 0).toDate(), entity.time); }