zoukankan      html  css  js  c++  java
  • Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'p.knowlege_part_id' in 'field list'

    MyBatis中,出现Unknown column的提示是mapper.xml中的数据库字段写错了。

    错误示例:

    XxMapper.xml中

     <sql id="KnowlegeSectionAndPart_Column_List">
        s.knowledge_section_id, s.create_time, s.update_time, s.section_name,
        s.repository_id, s.bool_close, p.knowlege_part_id, p.create_time,
        p.update_time, p.repository_id, p.section_id, p.bool_close, p.part_name
        </sql>
    <!--    通过章id查询章及其节-->
        <select id="getKnowlegeSectionWithPartDOById" parameterType="java.lang.Long"
                resultMap="KnowlegeSectionWithPartResultMap">
            select
            <include refid="KnowlegeSectionAndPart_Column_List"/>
            from knowlege_section s
            where s.knowledge_section_id = #{sid,jdbcType=BIGINT}
        </select>

    报错:

      1 ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'p.knowlege_part_id' in 'field list'
      2 ### The error may exist in file [D:IDEACodeYiZhiDuChangJiangRiver	argetchang_jiang_riverWEB-INFclassescomhzymapperKnowlegeSectionDOMapper.xml]
      3 ### The error may involve com.hzy.dao.KnowlegeSectionDOMapper.getKnowlegeSectionWithPartDOById-Inline
      4 ### The error occurred while setting parameters
      5 ### SQL: select               s.knowledge_section_id, s.create_time, s.update_time, s.section_name, s.repository_id, s.bool_close,p.knowlege_part_id, p.create_time, p.update_time, p.repository_id, p.section_id, p.bool_close, p.part_name               from knowlege_section s         where s.knowledge_section_id = ?
      6 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'p.knowlege_part_id' in 'field list'
      7 ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'p.knowlege_part_id' in 'field list'] with root cause
      8     com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'p.knowlege_part_id' in 'field list'
      9         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     10         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
     11         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
     12         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
     13         at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
     14         at com.mysql.jdbc.Util.getInstance(Util.java:387)
     15         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939)
     16         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
     17         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
     18         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
     19         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
     20         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
     21         at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
     22         at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)
     23         at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:67)
     24         at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:59)
     25         at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:73)
     26         at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:60)
     27         at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)
     28         at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)
     29         at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)
     30         at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:143)
     31         at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:60)
     32         at com.sun.proxy.$Proxy67.query(Unknown Source)
     33         at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)
     34         at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)
     35         at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66)
     36         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     37         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     38         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     39         at java.lang.reflect.Method.invoke(Method.java:498)
     40         at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:386)
     41         at com.sun.proxy.$Proxy24.selectOne(Unknown Source)
     42         at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:165)
     43         at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:68)
     44         at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)
     45         at com.sun.proxy.$Proxy25.getKnowlegeSectionWithPartDOById(Unknown Source)
     46         at com.hzy.knowlege.impl.KnowlegeServiceImpl.getKnowlegeSectionWithPartDOById(KnowlegeServiceImpl.java:100)
     47         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     48         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     49         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     50         at java.lang.reflect.Method.invoke(Method.java:498)
     51         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
     52         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
     53         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
     54         at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
     55         at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
     56         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
     57         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
     58         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
     59         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
     60         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
     61         at com.sun.proxy.$Proxy28.getKnowlegeSectionWithPartDOById(Unknown Source)
     62         at com.hzy.controller.KnowlegeController.getKnowlegeSectionWithPartById(KnowlegeController.java:122)
     63         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     64         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     65         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     66         at java.lang.reflect.Method.invoke(Method.java:498)
     67         at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
     68         at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
     69         at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
     70         at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
     71         at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
     72         at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
     73         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
     74         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
     75         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
     76         at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
     77         at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
     78         at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
     79         at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
     80         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
     81         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     82         at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
     83         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
     84         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     85         at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87)
     86         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     87         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
     88         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     89         at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
     90         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     91         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
     92         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     93         at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
     94         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     95         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
     96         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
     97         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
     98         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
     99         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    100         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    101         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    102         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
    103         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    104         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    105         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    106         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    107         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)
    108         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)
    109         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    110         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    111         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    112         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    113         at java.lang.Thread.run(Thread.java:745)
    View Code

    修改(添加 knowlege_part p):

     <!--    通过章id查询章及其节-->
        <select id="getKnowlegeSectionWithPartDOById" parameterType="java.lang.Long"
                resultMap="KnowlegeSectionWithPartResultMap">
            select
            <include refid="KnowlegeSectionAndPart_Column_List"/>
            from knowlege_section s, knowlege_part p
            where s.knowledge_section_id = #{sid,jdbcType=BIGINT}
        </select>

    回调成功:

    总结:

    所有被查询的字段,如果数据库表有别名,那么对应的字段也必须有别名,反之亦然。

  • 相关阅读:
    codevs 1569 最佳绿草

    luogu P3378 【模板】堆
    cogs 762. [USACO Open09] 奶牛队列
    各种 Python 实现的简单介绍与比较
    与 的区别
    Python3 print()函数sep,end,file参数用法练习
    python基础
    servlet篇 之 跳转问题
    servlet篇 之 servlet的访问
  • 原文地址:https://www.cnblogs.com/yang101/p/11282808.html
Copyright © 2011-2022 走看看