@Test public void testMapKeyBinding() throws Exception { Handle h = this.openHandle(); Update s = h.createStatement("insert into something (id, name) values (:id, :name)"); Map<String, Object> args = new HashMap<String, Object>(); args.put("id", 0); args.put("name", "Keith"); s.bindFromMap(args); int insert_count = s.execute(); assertEquals(1, insert_count); }
@Test public void testMapKeyBinding() throws Exception { Handle h = this.openHandle(); Update s = h.createStatement("insert into something (id, name) values (:id, :name)"); Map<String, Object> args = new HashMap<String, Object>(); args.put("id", 0); args.put("name", "Keith"); s.bindFromMap(args); int insert_count = s.execute(); assertEquals(1, insert_count); }
@Test public void testUsefulArgumentOutputForDebug() throws Exception { try { h.createStatement("insert into something (id, name) values (:id, :name)") .bind("name", "brian") .bind(7, 8) .bindFromMap(new HandyMapThing<String>().add("one", "two")) .bindFromProperties(new Object()) .execute(); } catch (StatementException e) { assertTrue(e.getMessage() .contains("arguments:{ positional:{7:8}, named:{name:'brian'}, finder:[{one=two},{lazy bean proprty arguments \"java.lang.Object")); } }
@Test public void testUsefulArgumentOutputForDebug() throws Exception { try { h.createStatement("insert into something (id, name) values (:id, :name)") .bind("name", "brian") .bind(7, 8) .bindFromMap(new HandyMapThing<String>().add("one", "two")) .bindFromProperties(new Object()) .execute(); } catch (StatementException e) { assertTrue(e.getMessage() .contains("arguments:{ positional:{7:8}, named:{name:'brian'}, finder:[{one=two},{lazy bean proprty arguments \"java.lang.Object")); } }
@Test public void testCascadedLazyArgs() throws Exception { Handle h = this.openHandle(); Update s = h.createStatement("insert into something (id, name) values (:id, :name)"); Map<String, Object> args = new HashMap<String, Object>(); args.put("id", 0); s.bindFromMap(args); s.bindFromProperties(new Object() { @SuppressWarnings("unused") public String getName() { return "Keith"; } }); int insert_count = s.execute(); assertEquals(1, insert_count); Something something = h.createQuery("select id, name from something").map(Something.class).first(); assertEquals("Keith", something.getName()); assertEquals(0, something.getId()); } }
@Test public void testCascadedLazyArgs() throws Exception { Handle h = this.openHandle(); Update s = h.createStatement("insert into something (id, name) values (:id, :name)"); Map<String, Object> args = new HashMap<String, Object>(); args.put("id", 0); s.bindFromMap(args); s.bindFromProperties(new Object() { @SuppressWarnings("unused") public String getName() { return "Keith"; } }); int insert_count = s.execute(); assertEquals(1, insert_count); Something something = h.createQuery("select id, name from something").map(Something.class).first(); assertEquals("Keith", something.getName()); assertEquals(0, something.getId()); } }