我想批量更新mysql數(shù)據(jù)以確保性能,這是我的代碼:public void updateCustomCategory(List<ItemDto> itemDtoList) {if (CollectionUtils.isNotEmpty(itemDtoList)) { jdbcTemplate.batchUpdate("update ItemDto item set item.l1CustomCatId = ?, item.l2CustomCatId = ? where itemId = ?", new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement ps, int i) throws SQLException { ps.setLong(1, itemDtoList.get(i).getL1CustomCatId()); ps.setLong(2, itemDtoList.get(i).getL2CustomCatId()); ps.setLong(3, itemDtoList.get(i).getItemId()); } @Override public int getBatchSize() { return itemDtoList.size(); } });}}但是當(dāng)我運(yùn)行這個(gè)方法時(shí),總是出現(xiàn)NPE,異常如下:2019-10-07 11:50:19.998 ERROR 125538 --- [nio-9092-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root causejava.lang.NullPointerException: null at com.shopee.data.bizcore.brandseller.dao.item.ItemDaoImpl.updateCustomCategory(ItemDaoImpl.java:92) ~[brand-seller-bizcore-0.0.1-SNAPSHOT.jar!/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_181] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_181] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-5.1.2.RELEASE.jar!/:5.1.2.RELEASE] at org.springframework.aop.framework.Reflection我不知道根本原因,我應(yīng)該如何修改它?謝謝
1 回答

海綿寶寶撒
TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
忘記了私有 JdbcTemplate jdbcTemplate 的 @@Autowired 注釋,這使得 jdbcTemplate 為 null
添加回答
舉報(bào)
0/150
提交
取消