帮忙看一下报错信息呗
来源: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。如下所示:
祝学习愉快!
相似问题