帮忙看一下报错信息呗
来源:1-5 自由编程
Itroads
2022-07-20 18:14:56
七月 20, 2022 6:12:51 下午 org.springframework.test.context.support.AbstractTestContextBootstrapper getDefaultTestExecutionListenerClassNames 信息: Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener] 七月 20, 2022 6:12:51 下午 org.springframework.test.context.support.AbstractTestContextBootstrapper getTestExecutionListeners 信息: Using TestExecutionListeners: [org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@5c3bd550, org.springframework.test.context.support.DependencyInjectionTestExecutionListener@91161c7, org.springframework.test.context.support.DirtiesContextTestExecutionListener@604ed9f0, org.springframework.test.context.transaction.TransactionalTestExecutionListener@6a4f787b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@685cb137, org.springframework.test.context.event.EventPublishingTestExecutionListener@6a41eaa2] java.lang.NullPointerException at com.imooc.spring.jdbc.dao.HotelDao.selectByOrderNo(HotelDao.java:11) at SpringJdbcTest.testByOrderNo(SpringJdbcTest.java:17) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
public class HotelDao {
public Hotel selectByOrderNo(Integer orderNo){
String sql = "select * from hotel where orderNo = ?";
Hotel hotel = jdbcTemplate.queryForObject(sql, new Object[]{orderNo}, new BeanPropertyRowMapper<Hotel>(Hotel.class));
return hotel;
}
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}public class Hotel {
private Integer orderNo;
private String city;
private Float price;
private String hotelname;
private Date arrivedate;
private Date leavedate;
public Integer getOrderNo() {
return orderNo;
}
public void setOrderNo(Integer orderNo) {
this.orderNo = orderNo;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public Float getPrice() {
return price;
}
public void setPrice(Float price) {
this.price = price;
}
public String getHotelname() {
return hotelname;
}
public void setHotelname(String hotelname) {
this.hotelname = hotelname;
}
public Date getArrivedate() {
return arrivedate;
}
public void setArrivedate(Date arrivedate) {
this.arrivedate = arrivedate;
}
public Date getLeavedate() {
return leavedate;
}
public void setLeavedate(Date leavedate) {
this.leavedate = leavedate;
}
@Override
public String toString() {
return "Hotel{" +
"orderNo=" + orderNo +
", city='" + city + '\'' +
", price=" + price +
", hotelname='" + hotelname + '\'' +
", arrivedate=" + arrivedate +
", leavedate=" + leavedate +
'}';
}
}<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!--mysql版本在6.0以下不能使用com.mysql.cj.jdbc.Driver--> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/jdbc_imooc?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"/> <property name="username" value="root"/> <property name="password" value=""/> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> <bean id="hotelDao" class="com.imooc.spring.jdbc.dao.HotelDao"> <property name="jdbcTemplate" ref="jdbcTemplate"></property> </bean>
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class SpringJdbcTest {
@Resource
private HotelDao hotelDao;
@Test
public void testByOrderNo(){
Hotel hotel= new HotelDao().selectByOrderNo(10001);
System.out.println(hotel);
}
public HotelDao getHotelDao() {
return hotelDao;
}
public void setHotelDao(HotelDao hotelDao) {
this.hotelDao = hotelDao;
}
}1回答
好帮手慕小尤
2022-07-20
同学你好,同学代码出现空指针异常,是null调用方法与属性导致的,则建议同学查看jdbcTemplate对象是否为null。如下所示:

祝学习愉快!
相似问题