求助,springmvc和mybatis问题

rungear123 rungear123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
框架新手问题,目前正在学习阶段,用的是SSM。目前正在实现一个数据库插入数据的方法,报了以下问题


[http-bio-8080-exec-3] DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- Returning cached instance of singleton bean 'sqlSessionFactory'
org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [SpringMVC] in context with path [/XHL] threw exception
[Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at com.cn.xhl.Service.impl.UserInfoServiceImpl.insertUserInfoByPhone(UserInfoServiceImpl.java:32)
at com.cn.xhl.Controller.UserInfoController.userRegistered(UserInfoController.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker
.invokeHandlerMethod(HandlerMethodInvoker.java:175)
at org.springframework.web.servlet. mvc.annotation.AnnotationMethodHandlerAdapter
.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:446)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapte
r.handle(AnnotationMethodHandlerAdapter.java:434)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


其中insertUserInfoByPhone方法是接口直接实现的,mybatis的mapper之前是用工具自动生成的,怕是生成的有问题我又自己写了一句测试,代码如下

<insert id="insertByPhoneNumber" parameterType="com.cn.xhl.Pojo.UserInfo" 
useGeneratedKeys="true" keyProperty="userId">
insert into tbl_user_info ( phone_number)
values (#{phoneNumber,jdbcType=VARCHAR})
</insert>


实现的方法
	@Override
public int insertUserInfoByPhone(String phoneNumber) {
int userId = 0;
UserInfo userInfo = new UserInfo();
if(phoneNumber!=null && !"".equals(phoneNumber)){
userInfo.setPhoneNumber(phoneNumber);
userId = userInfoMapper.insertSelective(userInfo);
}
else{
userId = -1;
}
return userId;
}


实在是想不到哪里出了问题,因为之前写过的一个查询方法是没问题的。现在只能猜测是Mybatis的配置写错或者是spring的配置问题,希望大神们前来解救啊。
...全文
评论 9
收藏 已收藏
分享
返回顶部
rungear123
Java EE 67,535 成员 225,843 内容