• 记一下Spring整合MyBatis踩的坑


    1.applicationComtext.xml配置

    2.pom.xml配置

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.4.RELEASE</version>
    </dependency>
    
    <!--ORM框架-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.4</version>
    </dependency>
    
    <!--log4j日志-->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    
    <!--log4j接口层-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>2.0.0-alpha1</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>2.0.0-alpha1</version>
    </dependency>
    <!--aop联盟-->
    <dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>1.0</version>
    </dependency>
    <!--Mybatis整合Spring-->
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.4</version>
    </dependency>
    
    <!--Mysql驱动程序-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.32</version>
    </dependency>
    
    <!--连接池-->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.5</version>
    </dependency>
    
    <!--开启事务支持-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.1.9.RELEASE</version>
    </dependency>
    
    <!--开启Spring对jdbc支持-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.1.9.RELEASE</version>
    </dependency>
    
    <!--spring测试支持-->
    
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.2.4.RELEASE</version>
    </dependency>
    <!--jstl支持-->
    

     把dao下的映射文件也让maven识别并且编译

    <finalName>SpringIntegrateMyBatis</finalName>
    <plugins>
      <!--为了保证包目录下的配置文件在编译后能够发布到执行目录,需要指定编译后生成的文件内容
      不过不这样指定,maven认为src/main/java目录下的是java源文件。而xml文件他是不会管的,所以
      需要指定xml也被编译然后发布到执行目录
      -->
        <resources>
          <resource>
            <directory>src/main/java</directory>
            <includes>
              <include>**/*.xml</include>
            </includes>
          </resource>
          <resource>
            <directory>src/main/resources</directory>
          </resource>
        </resources>
    

    3.第一坑

    如图红字,如果两边都指定了,会报如下的错误
    Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.zero.mapper.BooksMapper.BaseResultMap
    解决方法,只选择一处指定映射文件所在位置即可

    4.第二坑

     好不容易把上面的问题解决了,结果连接数据库的时候你告诉我连不上?
    Access denied for user 'admin'@'localhost' (using password: YES)
    出现原因,在属性文件中尽量不要使用username,因为系统中也有个username属性,在取值的时候,直接取成系统的username了
    emsp;解决方案,不要将属性文件的用户名设置成username就好

    5.第三坑

     本来是测试MyBatis缓存的,结果每次配置完,测试就报如下错误
    org.apache.ibatis.cache.CacheException: Error serializing object. Cause: java.io.NotSerializableException:
     错误原因,对应的pojo类没有实现序列化接口,而二级缓存技术是需要使用序列化技术的,所以对应的类实现序列化接口即可

    如果同时在mybatis配置文件中和spring配置文件中指定了

  • 相关阅读:
    Modified Mms.apkDiscontinued till I have free time
    文件管理器 Root Explorer v2.9.4 零售完全版
    QQREADEREFF8B4DFC3E8C03B
    CyanogenMod5 近乎完美的2.1ROM for G1 来了 感谢 cyanogen大神~~
    CyanogenMod5 Would you like a pony? (EXPERIMENTAL) [05/08 v5.0.7test3]
    商业周刊:摩托罗拉下注Android 不成功便成仁
    Cyanogen Updater 5.0 IS HERE!!!
    22个开源的PHP框架
    LotusPhp
    10 个免费超棒的编程用等宽字体
  • 原文地址:https://www.cnblogs.com/LaughTale/p/12990450.html
Copyright © 2020-2023  润新知