DasClient { public <T> int update(T entity, Hints...hints) throws SQLException { Preconditions.checkArgument(!(entity instanceof SqlBuilder), "Please call SqlBuilder.hints()"); final Hints hint = checkHints(hints); return internalExecute(hint, ()->{return delegate.update(entity, hint);}); } DasClient(DasDelegate delegate); T queryByPk(T pk, Hints...hints); List<T> queryBySample(T sample, Hints...hints); List<T> queryBySample(T sample, PageRange range, Hints...hints); long countBySample(T sample, Hints...hints); int insert(T entity, Hints...hints); int insert(List<T> entities, Hints...hints); int[] batchInsert(List<T> entities, Hints...hints); int deleteByPk(T pk, Hints...hints); int deleteBySample(T sample, Hints...hints); int[] batchDelete(List<T> entities, Hints...hints); int update(T entity, Hints...hints); int[] batchUpdate(List<T> entities, Hints...hints); T queryObject(SqlBuilder builder); T queryObjectNullable(SqlBuilder builder); List<T> query(SqlBuilder builder); List<?> batchQuery(BatchQueryBuilder builder); int update(SqlBuilder builder); int[] batchUpdate(BatchUpdateBuilder builder); void call(CallBuilder builder); int[] batchCall(BatchCallBuilder builder); void execute(Transaction transaction, Hints...hints); T execute(CallableTransaction<T> transaction, Hints...hints);  }
@Test public void testUpdate() throws Exception { for (int k = 0; k < TABLE_MODE; k++) { Person pk = new Person(); pk.setPeopleID(k + 1); pk.setName("Tom"); pk.setCountryID(100); pk.setCityID(200); assertEquals(1, dao.update(pk)); pk = dao.queryByPk(pk); assertEquals("Tom", pk.getName()); assertEquals(100, pk.getCountryID().intValue()); assertEquals(200, pk.getCityID().intValue()); } }
@Test(expected = IllegalArgumentException.class) public void testUpdateOverloading() throws Exception { dao.update(SqlBuilder.selectCount(), Hints.hints()); }