求助,springmvc和mybatis问题
框架新手问题,目前正在学习阶段,用的是SSM。目前正在实现一个数据库插入数据的方法,报了以下问题
其中insertUserInfoByPhone方法是接口直接实现的,mybatis的mapper之前是用工具自动生成的,怕是生成的有问题我又自己写了一句测试,代码如下
实现的方法
实在是想不到哪里出了问题,因为之前写过的一个查询方法是没问题的。现在只能猜测是Mybatis的配置写错或者是spring的配置问题,希望大神们前来解救啊。
[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的配置问题,希望大神们前来解救啊。
...全文
相关推荐
springmvc和mybatis框架整合(注解和非注解)
springmvc和mybatis框架整合,Controller使用注解和非注解方式实现。
mybatis 和springmvc整合
mybatis和springmvc的整合,包含公司日常开发常用最基础的功能,文档详细介绍mybatis由浅入深,一步步以springmvc的整合,并实现增删改查
SpringMVC和Mybatis
包含了SpringMVC以及Mybatis整合的一些相关jar包
SpringMVC-Mybatis-Template:SpringMVC和Mybatis集成的模板
介绍 这是SpringMVC和Mybatis集成的模板。 MySQL被用作数据库。 Maven用于管理项目。
SpringMVC注解整合Mybatis和ExtJs5.0
使用SpringMvc注解+mybatis整合Extjs5.0做的后台管理框架,其中实现了用户管理的用户信息列表获取功能,和用户添加功能,主键通过uuid实现,其余的由于涉及到具体项目所以剔除了!


