Spring jdbc 空指针异常

来源:1-5 自由编程

weixin_慕仙7241916

2022-09-13 16:45:30

尝试了几次还是找不出原因,请老师协助


DB的部份查询同样的语句是没问题的,但Java的步骤出现空指针异常,请问老师要如何解决?


https://img.mukewang.com/climg/63204266092a61be12090310.jpghttps://img.mukewang.com/climg/632042d00957ff4f07400358.jpg


debug mode

https://img.mukewang.com/climg/6320431209c4648212420287.jpg

Service类

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class HotelServiceTest extends TestCase {
    @Resource
    private HotelDao hotelDao;

    @Test
    public void testFindById(){
        Hotel hotel = hotelDao.findById(10001);
        System.out.println(hotel);
    }
}


DAO类

@Repository
public class HotelDao {

    private JdbcTemplate jdbcTemplate;

    @Resource
    private Hotel hotel;

    public Hotel findById(Integer oid){
        String sql = "SELECT * FROM hotel WHERE orderno = ?";
        Hotel hotel = jdbcTemplate.queryForObject(sql, new Object[]{oid}, new BeanPropertyRowMapper<Hotel>(Hotel.class));
        return hotel;
    }
}


写回答

1回答

好帮手慕小尤

2022-09-13

同学你好,1、空指针异常是因null调用方法导致的问题。如下所示:

https://img.mukewang.com/climg/63205305092dfead12240234.jpg

2、建议同学注入JdbcTemplate。如下所示:然后重新测试代码试一下。

  <bean id="JdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

祝学习愉快!

2
heixin_慕仙7241916
hp>了解了,原先就已经有定义好bean,但是少了@Resource注解,加了之后问题解决了,谢谢。

@Resource
private JdbcTemplate jdbcTemplate;


h022-09-13
共1条回复

0 学习 · 9886 问题

查看课程