Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1175|回复: 0

[默认分类] invalid bound statement (not found)解决办法

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-5-30 14:55:21 | 显示全部楼层 |阅读模式


    最近搭建一个web项目后端SSM框架练手,使用Maven管理,遇到一个深坑invalid bound statement (not found),就是mapper文件扫描不到!!!
    先上整合过程,解决办法最后上。
    1、项目结构:


    2、pom文件:

    1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    2.         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    3.         <modelVersion>4.0.0</modelVersion>
    4.         <groupId>com.bolue</groupId>
    5.         <artifactId>oa</artifactId>
    6.         <packaging>war</packaging>
    7.         <version>0.0.1-SNAPSHOT</version>
    8.         <name>oa Maven Webapp</name>
    9.         <url>http://maven.apache.org</url>
    10.         <properties>
    11.                 <junit.version>4.12</junit.version>
    12.                 <spring.version>4.1.3.RELEASE</spring.version>
    13.                 <mybatis.version>3.2.8</mybatis.version>
    14.                 <mybatis.spring.version>1.2.2</mybatis.spring.version>
    15.                 <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
    16.                 <mysql.version>5.1.32</mysql.version>
    17.                 <slf4j.version>1.6.4</slf4j.version>
    18.                 <jackson.version>2.4.2</jackson.version>
    19.                 <druid.version>1.0.9</druid.version>
    20.                 <httpclient.version>4.3.5</httpclient.version>
    21.                 <jstl.version>1.2</jstl.version>
    22.                 <servlet-api.version>2.5</servlet-api.version>
    23.                 <jsp-api.version>2.0</jsp-api.version>
    24.                 <joda-time.version>2.5</joda-time.version>
    25.                 <commons-lang3.version>3.3.2</commons-lang3.version>
    26.                 <commons-io.version>1.3.2</commons-io.version>
    27.                 <commons-net.version>3.3</commons-net.version>
    28.                 <pagehelper.version>3.4.2-fix</pagehelper.version>
    29.                 <jsqlparser.version>0.9.1</jsqlparser.version>
    30.                 <commons-fileupload.version>1.3.1</commons-fileupload.version>
    31.                 <jedis.version>2.7.2</jedis.version>
    32.                 <solrj.version>4.10.3</solrj.version>
    33.         </properties>
    34.         <dependencies>
    35.                 <!-- 时间操作组件 -->
    36.                 <dependency>
    37.                         <groupId>joda-time</groupId>
    38.                         <artifactId>joda-time</artifactId>
    39.                         <version>${joda-time.version}</version>
    40.                 </dependency>
    41.                 <!-- Apache工具组件 -->
    42.                 <dependency>
    43.                         <groupId>org.apache.commons</groupId>
    44.                         <artifactId>commons-lang3</artifactId>
    45.                         <version>${commons-lang3.version}</version>
    46.                 </dependency>
    47.                 <dependency>
    48.                         <groupId>org.apache.commons</groupId>
    49.                         <artifactId>commons-io</artifactId>
    50.                         <version>${commons-io.version}</version>
    51.                 </dependency>
    52.                 <dependency>
    53.                         <groupId>commons-net</groupId>
    54.                         <artifactId>commons-net</artifactId>
    55.                         <version>${commons-net.version}</version>
    56.                 </dependency>
    57.                 <!-- Jackson Json处理工具包 -->
    58.                 <dependency>
    59.                         <groupId>com.fasterxml.jackson.core</groupId>
    60.                         <artifactId>jackson-databind</artifactId>
    61.                         <version>${jackson.version}</version>
    62.                 </dependency>
    63.                 <!-- httpclient -->
    64.                 <dependency>
    65.                         <groupId>org.apache.httpcomponents</groupId>
    66.                         <artifactId>httpclient</artifactId>
    67.                         <version>${httpclient.version}</version>
    68.                 </dependency>
    69.                 <!-- 单元测试 -->
    70.                 <dependency>
    71.                         <groupId>junit</groupId>
    72.                         <artifactId>junit</artifactId>
    73.                         <version>${junit.version}</version>
    74.                         <scope>test</scope>
    75.                 </dependency>
    76.                 <!-- 日志处理 -->
    77.                 <dependency>
    78.                         <groupId>org.slf4j</groupId>
    79.                         <artifactId>slf4j-log4j12</artifactId>
    80.                         <version>${slf4j.version}</version>
    81.                 </dependency>
    82.                 <!-- Mybatis -->
    83.                 <dependency>
    84.                         <groupId>org.mybatis</groupId>
    85.                         <artifactId>mybatis</artifactId>
    86.                         <version>${mybatis.version}</version>
    87.                 </dependency>
    88.                 <dependency>
    89.                         <groupId>org.mybatis</groupId>
    90.                         <artifactId>mybatis-spring</artifactId>
    91.                         <version>${mybatis.spring.version}</version>
    92.                 </dependency>
    93.                 <dependency>
    94.                         <groupId>com.github.miemiedev</groupId>
    95.                         <artifactId>mybatis-paginator</artifactId>
    96.                         <version>${mybatis.paginator.version}</version>
    97.                 </dependency>
    98.                 <dependency>
    99.                         <groupId>com.github.pagehelper</groupId>
    100.                         <artifactId>pagehelper</artifactId>
    101.                         <version>${pagehelper.version}</version>
    102.                 </dependency>
    103.                 <!-- MySql -->
    104.                 <dependency>
    105.                         <groupId>mysql</groupId>
    106.                         <artifactId>mysql-connector-java</artifactId>
    107.                         <version>${mysql.version}</version>
    108.                 </dependency>
    109.                 <!-- 连接池 -->
    110.                 <dependency>
    111.                         <groupId>com.alibaba</groupId>
    112.                         <artifactId>druid</artifactId>
    113.                         <version>${druid.version}</version>
    114.                 </dependency>
    115.                 <!-- Spring -->
    116.                 <dependency>
    117.                         <groupId>org.springframework</groupId>
    118.                         <artifactId>spring-context</artifactId>
    119.                         <version>${spring.version}</version>
    120.                 </dependency>
    121.                 <dependency>
    122.                         <groupId>org.springframework</groupId>
    123.                         <artifactId>spring-beans</artifactId>
    124.                         <version>${spring.version}</version>
    125.                 </dependency>
    126.                 <dependency>
    127.                         <groupId>org.springframework</groupId>
    128.                         <artifactId>spring-webmvc</artifactId>
    129.                         <version>${spring.version}</version>
    130.                 </dependency>
    131.                 <dependency>
    132.                         <groupId>org.springframework</groupId>
    133.                         <artifactId>spring-jdbc</artifactId>
    134.                         <version>${spring.version}</version>
    135.                 </dependency>
    136.                 <dependency>
    137.                         <groupId>org.springframework</groupId>
    138.                         <artifactId>spring-aspects</artifactId>
    139.                         <version>${spring.version}</version>
    140.                 </dependency>
    141.                 <dependency>
    142.                         <groupId>org.springframework</groupId>
    143.                         <artifactId>spring-test</artifactId>
    144.                         <version>${spring.version}</version>
    145.                 </dependency>
    146.                 <!-- JSP相关 -->
    147.                 <dependency>
    148.                         <groupId>jstl</groupId>
    149.                         <artifactId>jstl</artifactId>
    150.                         <version>${jstl.version}</version>
    151.                 </dependency>
    152.                 <dependency>
    153.                         <groupId>javax.servlet</groupId>
    154.                         <artifactId>servlet-api</artifactId>
    155.                         <version>${servlet-api.version}</version>
    156.                         <scope>provided</scope>
    157.                 </dependency>
    158.                 <dependency>
    159.                         <groupId>javax.servlet</groupId>
    160.                         <artifactId>jsp-api</artifactId>
    161.                         <version>${jsp-api.version}</version>
    162.                         <scope>provided</scope>
    163.                 </dependency>
    164.                 <!-- 文件上传组件 -->
    165.                 <dependency>
    166.                         <groupId>commons-fileupload</groupId>
    167.                         <artifactId>commons-fileupload</artifactId>
    168.                         <version>${commons-fileupload.version}</version>
    169.                 </dependency>
    170.                 <!-- Redis客户端 -->
    171.                 <dependency>
    172.                         <groupId>redis.clients</groupId>
    173.                         <artifactId>jedis</artifactId>
    174.                         <version>${jedis.version}</version>
    175.                 </dependency>
    176.                 <!-- solr客户端 -->
    177.                 <dependency>
    178.                         <groupId>org.apache.solr</groupId>
    179.                         <artifactId>solr-solrj</artifactId>
    180.                         <version>${solrj.version}</version>
    181.                 </dependency>
    182.         </dependencies>
    183.         <build>
    184.                 <finalName>oa</finalName>
    185.                 <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
    186.                 <resources>
    187.                         <resource>
    188.                                 <directory>src/main/java</directory>
    189.                                 <includes>
    190.                                         <include>**/*.properties</include>
    191.                                         <include>**/*.xml</include>
    192.                                 </includes>
    193.                                 <filtering>false</filtering>
    194.                         </resource>
    195.                         <resource>
    196.                                 <directory>src/main/resources</directory>
    197.                                 <includes>
    198.                                         <include>**/*.properties</include>
    199.                                         <include>**/*.xml</include>
    200.                                 </includes>
    201.                                 <filtering>false</filtering>
    202.                         </resource>
    203.                 </resources>
    204.                 <plugins>
    205.                         <!-- 资源文件拷贝插件 -->
    206.                         <plugin>
    207.                                 <groupId>org.apache.maven.plugins</groupId>
    208.                                 <artifactId>maven-resources-plugin</artifactId>
    209.                                 <version>2.7</version>
    210.                                 <configuration>
    211.                                         <encoding>UTF-8</encoding>
    212.                                 </configuration>
    213.                         </plugin>
    214.                         <!-- java编译插件 -->
    215.                         <plugin>
    216.                                 <groupId>org.apache.maven.plugins</groupId>
    217.                                 <artifactId>maven-compiler-plugin</artifactId>
    218.                                 <version>3.2</version>
    219.                                 <configuration>
    220.                                         <source>1.7</source>
    221.                                         <target>1.7</target>
    222.                                         <encoding>UTF-8</encoding>
    223.                                 </configuration>
    224.                         </plugin>
    225.                         <!-- Tomcat插件 -->
    226.                         <plugin>
    227.                                 <groupId>org.apache.tomcat.maven</groupId>
    228.                                 <artifactId>tomcat7-maven-plugin</artifactId>
    229.                                 <version>2.2</version>
    230.                                 <configuration>
    231.                                         <port>8080</port>
    232.                                         <path>/</path>
    233.                                 </configuration>
    234.                         </plugin>
    235.                 </plugins>
    236.         </build>
    237. </project>
    复制代码





    导入的包有点多,可以根据自己需要选择导入。




    3、:db.properties文件:
      
    1. driver=com.mysql.jdbc.Driver
    2. url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&allowMultiQueries=true
    3. username=root
    4. password=root
    5. #\u5b9a\u4e49\u521d\u59cb\u8fde\u63a5\u6570  
    6. initialSize=0  
    7. #\u5b9a\u4e49\u6700\u5927\u8fde\u63a5\u6570  
    8. maxActive=20  
    9. #\u5b9a\u4e49\u6700\u5927\u7a7a\u95f2  
    10. maxIdle=20  
    11. #\u5b9a\u4e49\u6700\u5c0f\u7a7a\u95f2  
    12. minIdle=1  
    13. #\u5b9a\u4e49\u6700\u957f\u7b49\u5f85\u65f6\u95f4  
    14. maxWait=60000
    复制代码

    4、log4j文件:
      
      
    1. log4j.rootLogger=info,fileAppender,consoleAppender
    2. #\u6253\u5370\u65e5\u5fd7\u5230\u63a7\u5236\u53f0\uff0c\u5982\u9700\u8981\u6b64\u529f\u80fd,\u5728\u7b2c\u4e00\u884c\u672b\u5c3e\u52a0\u4e0a\u5185\u5bb9\uff1a,consoleAppender
    3. log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
    4. log4j.appender.consoleAppender.Target = System.out
    5. log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
    6. log4j.appender.consoleAppender.layout.ConversionPattern = %d %p %c %L %M - %m%x%n
    7. #\u6253\u5370\u7cfb\u7edf\u65e5\u5fd7\u5230\u6587\u4ef6
    8. log4j.appender.fileAppender=org.apache.log4j.DailyRollingFileAppender
    9. log4j.appender.fileAppender.File=../logs/pats-client/pats-client.log
    10. log4j.appender.fileAppender.DatePattern = "_"yyyyMMdd
    11. log4j.appender.fileAppender.layout = org.apache.log4j.PatternLayout
    12. log4j.appender.fileAppender.layout.ConversionPattern = %d %p %c %L %M - %m%x%n
    13. #source\u65e5\u5fd7
    14. log4j.logger.com.pats.client.log.datalog.SourceDataLog=INFO,sourceDataLog
    15. log4j.appender.sourceDataLog=org.apache.log4j.DailyRollingFileAppender
    16. log4j.appender.sourceDataLog.File=../logs/pats-client/source_data.log
    17. log4j.appender.sourceDataLog.DatePattern = "_"yyyyMMdd
    18. log4j.appender.sourceDataLog.layout = org.apache.log4j.PatternLayout
    19. log4j.appender.sourceDataLog.layout.ConversionPattern = [%d]%m%x%n
    20. log4j.additivity.com.pats.client.log.datalog.SourceDataLog = false
    21. #websocket\u6570\u636e\u65e5\u5fd7
    22. log4j.logger.com.pats.client.log.AskPriceModelDataLog = DEBUG,AskPriceDataLog
    23. log4j.appender.AskPriceDataLog=org.apache.log4j.DailyRollingFileAppender
    24. log4j.appender.AskPriceDataLog.File=../logs/pats-client/askPrice_data.log
    25. log4j.appender.AskPriceDataLog.DatePattern = "_"yyyyMMdd
    26. log4j.appender.AskPriceDataLog.layout=org.apache.log4j.PatternLayout
    27. log4j.appender.AskPriceDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    28. log4j.additivity.com.pats.client.log.AskPriceModelDataLog = false
    29. #websocket\u6570\u636e\u65e5\u5fd7
    30. log4j.logger.com.pats.client.log.BidPriceModelDataLog = DEBUG,BidPriceDataLog
    31. log4j.appender.BidPriceDataLog=org.apache.log4j.DailyRollingFileAppender
    32. log4j.appender.BidPriceDataLog.File=../logs/pats-client/bidPrice_data.log
    33. log4j.appender.BidPriceDataLog.DatePattern = "_"yyyyMMdd
    34. log4j.appender.BidPriceDataLog.layout=org.apache.log4j.PatternLayout
    35. log4j.appender.BidPriceDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    36. log4j.additivity.com.pats.client.log.BidPriceModelDataLog = false
    37. #websocket\u6570\u636e\u65e5\u5fd7
    38. log4j.logger.com.pats.client.log.DealLogModelDataLog = DEBUG,DealLogDataLog
    39. log4j.appender.DealLogDataLog=org.apache.log4j.DailyRollingFileAppender
    40. log4j.appender.DealLogDataLog.File=../logs/pats-client/dealLog_data.log
    41. log4j.appender.DealLogDataLog.DatePattern = "_"yyyyMMdd
    42. log4j.appender.DealLogDataLog.layout=org.apache.log4j.PatternLayout
    43. log4j.appender.DealLogDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    44. log4j.additivity.com.pats.client.log.DealLogModelDataLog = false
    45. #websocket\u6570\u636e\u65e5\u5fd7
    46. log4j.logger.com.pats.client.log.FullModelDataLog = DEBUG,FullDataLog
    47. log4j.appender.FullDataLog=org.apache.log4j.DailyRollingFileAppender
    48. log4j.appender.FullDataLog.File=../logs/pats-client/full_data.log
    49. log4j.appender.FullDataLog.DatePattern = "_"yyyyMMdd
    50. log4j.appender.FullDataLog.layout=org.apache.log4j.PatternLayout
    51. log4j.appender.FullDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    52. log4j.additivity.com.pats.client.log.FullModelDataLog = false
    53. #websocket\u6570\u636e\u65e5\u5fd7
    54. log4j.logger.com.pats.client.log.PositionModelDataLog = DEBUG,PositionDataLog
    55. log4j.appender.PositionDataLog=org.apache.log4j.DailyRollingFileAppender
    56. log4j.appender.PositionDataLog.File=../logs/pats-client/position_data.log
    57. log4j.appender.PositionDataLog.DatePattern = "_"yyyyMMdd
    58. log4j.appender.PositionDataLog.layout=org.apache.log4j.PatternLayout
    59. log4j.appender.PositionDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    60. log4j.additivity.com.pats.client.log.PositionModelDataLog = false
    61. #websocket\u6570\u636e\u65e5\u5fd7
    62. log4j.logger.com.pats.client.log.VwapModelDataLog = DEBUG,VwapDataLog
    63. log4j.appender.VwapDataLog=org.apache.log4j.DailyRollingFileAppender
    64. log4j.appender.VwapDataLog.File=../logs/pats-client/vwap_data.log
    65. log4j.appender.VwapDataLog.DatePattern = "_"yyyyMMdd
    66. log4j.appender.VwapDataLog.layout=org.apache.log4j.PatternLayout
    67. log4j.appender.VwapDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    68. log4j.additivity.com.pats.client.log.VwapModelDataLog = false
    69. #websocket\u6570\u636e\u65e5\u5fd7
    70. log4j.logger.com.pats.client.log.ProductDataLog = DEBUG,ProductDataLog
    71. log4j.appender.ProductDataLog=org.apache.log4j.DailyRollingFileAppender
    72. log4j.appender.ProductDataLog.File=../logs/pats-client/product_data.log
    73. log4j.appender.ProductDataLog.DatePattern = "_"yyyyMMdd
    74. log4j.appender.ProductDataLog.layout=org.apache.log4j.PatternLayout
    75. log4j.appender.ProductDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    76. log4j.additivity.com.pats.client.log.ProductDataLog = false
    77. #websocket\u6570\u636e\u65e5\u5fd7
    78. log4j.logger.com.pats.client.log.ProductErrorDataLog = DEBUG,ProductErrorDataLog
    79. log4j.appender.ProductErrorDataLog=org.apache.log4j.DailyRollingFileAppender
    80. log4j.appender.ProductErrorDataLog.File=../logs/pats-client/productError_data.log
    81. log4j.appender.ProductErrorDataLog.DatePattern = "_"yyyyMMdd
    82. log4j.appender.ProductErrorDataLog.layout=org.apache.log4j.PatternLayout
    83. log4j.appender.ProductErrorDataLog.layout.ConversionPattern=%d %p %c %L %M - %m%x%n
    84. log4j.additivity.com.pats.client.log.ProductErrorDataLog = false
    85. #jdbc\u65e5\u5fd7
    86. #log4j.logger.org.springframework.jdbc=debug
    87. #log4j.logger.org.mybatis.spring=debug
    88. #log4j.logger.com.pats.client.dao=debug
    复制代码

    5、spring-MyBatis.xml文件:
      
      
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"  
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4.     xmlns:context="http://www.springframework.org/schema/context"  
    5.     xmlns:mvc="http://www.springframework.org/schema/mvc"
    6.     xmlns:aop="http://www.springframework.org/schema/aop"
    7.     xmlns:tx="http://www.springframework.org/schema/tx"  
    8.     xmlns:task="http://www.springframework.org/schema/task"
    9.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
    10.                         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd   
    11.                         http://www.springframework.org/schema/context   
    12.                         http://www.springframework.org/schema/context/spring-context-4.0.xsd
    13.                         http://www.springframework.org/schema/aop
    14.                         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
    15.                         http://www.springframework.org/schema/tx
    16.                         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    17.                         http://www.springframework.org/schema/mvc
    18.                         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd  
    19.                         http://www.springframework.org/schema/task
    20.                         http://www.springframework.org/schema/task/spring-task-3.1.xsd">
    21.         <!-- 自动扫描 -->
    22.         <context:component-scan base-package="com.bolue.oa"/>
    23.         <!-- 引入配置文件 -->
    24.         <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    25.             <property name="location" value="classpath:db.properties"/>   
    26.     </bean>
    27.     <!-- 数据源 -->
    28.     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
    29.         <property name="url" value="${url}" />
    30.         <property name="username" value="${username}" />
    31.         <property name="password" value="${password}" />
    32.         <!-- 初始化连接大小 -->
    33.         <property name="initialSize" value="${initialSize}" />
    34.         <!-- 连接池最大使用连接数量 -->
    35.         <property name="maxActive" value="${maxActive}" />
    36.         <!-- 连接池最大空闲 -->
    37.         <!-- <property name="maxIdle" value="${maxIdle}" /> -->
    38.         <!-- 连接池最小空闲 -->
    39.         <property name="minIdle" value="${minIdle}" />
    40.         <!-- 获取连接最大等待时间 -->
    41.         <property name="maxWait" value="${maxWait}" />
    42.         <property name="validationQuery" value="SELECT 1" />
    43.         <property name="testWhileIdle" value="true" />
    44.         <property name="testOnBorrow" value="false" />
    45.         <property name="testOnReturn" value="false" />
    46.         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
    47.         <property name="timeBetweenEvictionRunsMillis" value="60000" />
    48.         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
    49.         <property name="minEvictableIdleTimeMillis" value="25200000" />
    50.         <property name="filters" value="mergeStat" />
    51.     </bean>
    52.     <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
    53.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    54.             <property name="dataSource" ref="dataSource"/>
    55.             <!-- 自动扫描mapping.xml文件 -->  
    56.             <property name="mapperLocations" value="classpath*:com/bolue/oa/mapper/*.xml"/>
    57.     </bean>
    58.     <!-- Dao接口所在包名,Spring会自动查找其下的类 -->
    59.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    60.             <property name="basePackage" value="com.bolue.oa.dao"/>
    61.             <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    62.     </bean>
    63.     <!-- 事务管理 -->
    64.     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    65.             <property name="dataSource" ref="dataSource"/>
    66.     </bean>
    67.     <!-- 声明式 Spring AOP的方式实现事务管理 -->
    68.     <tx:advice id="txAdvice" transaction-manager="transactionManager">
    69.             <tx:attributes>
    70.                     <tx:method name="query*" propagation="SUPPORTS" read-only="true"/>
    71.                     <tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
    72.                     <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
    73.                     <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
    74.                     <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception" />
    75.             <tx:method name="create*" propagation="REQUIRED" rollback-for="Exception"/>
    76.             <tx:method name="add**" propagation="REQUIRED" rollback-for="Exception"/>
    77.             <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>
    78.             <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
    79.             <tx:method name="modify*" propagation="REQUIRED" rollback-for="Exception"/>
    80.             <tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception"/>
    81.             </tx:attributes>
    82.     </tx:advice>
    83.     <!-- 第一个*表示返回值,第二个*表示impl下class,第三个*表示方法名,(..)表示方法参数 -->
    84.     <aop:config>
    85.             <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.bolue.oa.service.*.*(..))"/>
    86.     </aop:config>
    87. </beans>
    复制代码

    6、spring-mvc文件:
      
      
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4.     xmlns:context="http://www.springframework.org/schema/context"
    5.     xmlns:mvc="http://www.springframework.org/schema/mvc"
    6.     xmlns:aop="http://www.springframework.org/schema/aop"
    7.     xmlns:task="http://www.springframework.org/schema/task"
    8.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
    9.                         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    10.                         http://www.springframework.org/schema/aop
    11.                         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd   
    12.                         http://www.springframework.org/schema/context   
    13.                         http://www.springframework.org/schema/context/spring-context-4.0.xsd   
    14.                         http://www.springframework.org/schema/mvc   
    15.                         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
    16.                         http://www.springframework.org/schema/task
    17.                         http://www.springframework.org/schema/task/spring-task-4.0.xsd">
    18.         <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
    19.         <context:component-scan base-package="com.bolue.oa.controller"/>
    20.         <mvc:annotation-driven>
    21.         <mvc:message-converters>
    22.             <!-- 避免IE执行AJAX时, 返回JSON出现下载文件 -->
    23.             <bean id="mappingJacksonHttpMessageConverter"
    24.                 class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    25.                 <property name="supportedMediaTypes">
    26.                     <list>
    27.                         <value>text/html;charset=UTF-8</value>
    28.                     </list>
    29.                 </property>
    30.             </bean>
    31.         </mvc:message-converters>
    32.     </mvc:annotation-driven>
    33.     <!-- 文件上传 -->
    34.     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    35.             <!-- 默认编码 -->  
    36.         <property name="defaultEncoding" value="utf-8" />
    37.         <!-- 文件大小最大值 -->
    38.             <property name="maxUploadSize" value="5000000"/>
    39.             <!-- 内存中的最大值 -->  
    40.         <property name="maxInMemorySize" value="40960" />
    41.         </bean>
    42.         <!-- 定义跳转的文件的前后缀 ,视图模式配置-->  
    43.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
    44.         <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->  
    45.         <property name="prefix" value="/WEB-INF/jsp/" />  
    46.         <property name="suffix" value=".jsp" />  
    47.     </bean>
    48.     <!-- 资源文件映射 -->
    49.     <mvc:resources location="/WEB-INF/assets/" mapping="/assets/**"/>
    50.     <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
    51.     <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/>
    52. </beans>
    复制代码


    7、web.xml文件:
      
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3.         xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    4.         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    5.         id="taotao" version="2.5">
    6.   <display-name>oa</display-name>
    7.   <welcome-file-list>
    8.                 <welcome-file>index.html</welcome-file>
    9.                 <welcome-file>index.htm</welcome-file>
    10.                 <welcome-file>index.jsp</welcome-file>
    11.                 <welcome-file>default.html</welcome-file>
    12.                 <welcome-file>default.htm</welcome-file>
    13.                 <welcome-file>default.jsp</welcome-file>
    14.         </welcome-file-list>
    15.         <!-- 加载spring容器 -->
    16.         <context-param>
    17.                 <param-name>contextConfigLocation</param-name>
    18.                 <param-value>classpath:spring/spring-*.xml</param-value>
    19.         </context-param>
    20.         <!-- Spring监听器 -->
    21.         <listener>
    22.                 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    23.         </listener>
    24.         <!-- 防止Spring内存溢出监听器 -->
    25.         <listener>
    26.                   <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
    27.         </listener>
    28.         <!-- 解决Post乱码 -->
    29.         <filter>
    30.                 <filter-name>CharacterEncodingFilter</filter-name>
    31.                 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    32.                 <init-param>
    33.                         <param-name>encoding</param-name>
    34.                         <param-value>utf-8</param-value>
    35.                 </init-param>
    36.         </filter>
    37.         <filter-mapping>
    38.                 <filter-name>CharacterEncodingFilter</filter-name>
    39.                 <url-pattern>/*</url-pattern>
    40.         </filter-mapping>
    41.         <!-- SpringMVC的前端控制器 -->
    42.         <servlet>
    43.                 <servlet-name>oa</servlet-name>
    44.                 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    45.                 <init-param>
    46.                         <param-name>contextConfigLocation</param-name>
    47.                         <param-value>classpath:spring/spring-mvc.xml</param-value>
    48.                 </init-param>
    49.                 <load-on-startup>1</load-on-startup>
    50.         </servlet>
    51.         <servlet-mapping>
    52.                 <servlet-name>oa</servlet-name>
    53.                 <url-pattern>/</url-pattern>
    54.         </servlet-mapping>
    55.         <listener>
    56.         <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    57.         </listener>
    58. </web-app>
    复制代码


      
    只要路径都写正确,应该不会有什么问题吧???


    BUT!!!


    登录时竟然给我报了一个invalid bound statement (not found)的异常
    网上都说这是路径不对或mapper文件内容不对引起的,但我路径都是对的,mapper文件时自动生成的,不会错啊,那到底是哪错了...
    坑爹的问题害我找了一天原因,原来是需要在pom.xml文件中配置resource,不然mapper.xml文件就会被漏掉!被漏掉!!被漏掉!!!
    然后就在pom.xml的<build>中配置了resource:

    1. <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
    2.                 <resources>
    3.                         <resource>
    4.                                 <directory>src/main/java</directory>
    5.                                 <includes>
    6.                                         <include>**/*.properties</include>
    7.                                         <include>**/*.xml</include>
    8.                                 </includes>
    9.                                 <filtering>false</filtering>
    10.                         </resource>
    11.                         <resource>
    12.                                 <directory>src/main/resources</directory>
    13.                                 <includes>
    14.                                         <include>**/*.properties</include>
    15.                                         <include>**/*.xml</include>
    16.                                 </includes>
    17.                                 <filtering>false</filtering>
    18.                         </resource>
    19.                 </resources>
    复制代码


    上面pom.xml中已经把这段代码写上去了,这里只是说明一下错误时因为它引起的。


    然后,哈哈哈,bug终于被我消灭,怪兽终究还是打不过葫芦娃的


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-9-10 12:40 , Processed in 0.307400 second(s), 38 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表