方法一:
useGeneratedKeys="true" keyProperty="itemId">
insert into ${table_name}
${k}
values
'${params[k]}'
方法二:
-->
SELECT LAST_INSERT_ID() FROM DUAL
insert into ${table_name}
${k}
values
'${params[k]}'
Mapper接口:
public interface CommenMapper {
public Integer insertWithId(Map params);
}
测试代码:
@Test public void testInsertWithId(){ SqlSession sqlSession = sqlSessionFactory.openSession(); CommenMapper commenMapper = sqlSession.getMapper(CommenMapper.class); Map save_map = new HashMap<>(); Map param = new HashMap<>(); param.put("name", "hehehhe"); param.put("price", 23.3f); param.put("detail", "xijiejuedingchengbai"); String[] keys = new String[param.size()]; Set sset = param.keySet(); int i = 0; for (String os : sset) { keys[i++] = os; } save_map.put("table_name", "items"); save_map.put("keys", keys); save_map.put("params", param); commenMapper.insertWithId(save_map); sqlSession.commit(); Integer itemId = (Integer) save_map.get("itemId"); System.out.println("itemId ===" + itemId); }