public <T> T insertObject(Connection connection, Object object) { Class<?> t = object.getClass(); SQLMapper sqlMapper = defaultBeanProcessor.generateInsertSQL(t); Assert.notNull(sqlMapper, "the sql mapper must not be null"); Assert.notEmpty(sqlMapper.propertyMap, "the property map must not be empty"); Object[] params = new Object[sqlMapper.propertyMap.size()]; sqlMapper.propertyMap.forEach((property, index) -> { try { Object value = ReflectUtils.get(object, property); params[index] = value; } catch (Throwable ignored) { } }); T ret = this.insert(connection, sqlMapper.sql, params); if (ret != null) { Mapper idMapper = defaultBeanProcessor.getIdMapper(t); if (idMapper != null) { try { ReflectUtils.set(object, idMapper.propertyName, ret); } catch (Throwable ignored) { } } } return ret; }
public <T> T insertObject(Connection connection, Object object) { Class<?> t = object.getClass(); SQLMapper sqlMapper = defaultBeanProcessor.generateInsertSQL(t); Assert.notNull(sqlMapper, "the sql mapper must not be null"); Assert.notEmpty(sqlMapper.propertyMap, "the property map must not be empty"); Object[] params = new Object[sqlMapper.propertyMap.size()]; sqlMapper.propertyMap.forEach((property, index) -> { try { Object value = ReflectUtils.get(object, property); params[index] = value; } catch (Throwable ignored) { } }); T ret = this.insert(connection, sqlMapper.sql, params); if (ret != null) { Mapper idMapper = defaultBeanProcessor.getIdMapper(t); if (idMapper != null) { try { ReflectUtils.set(object, idMapper.propertyName, ret); } catch (Throwable ignored) { } } } return ret; }