zoukankan      html  css  js  c++  java
  • 记一下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配置文件中指定了

  • 相关阅读:
    Html禁止粘贴 复制 剪切
    表单标签
    自构BeanHandler(用BeansUtils)
    spring配置中引入properties
    How Subcontracting Cockpit ME2ON creates SD delivery?
    cascadia code一款很好看的微软字体
    How condition value calculated in sap
    Code in SAP query
    SO Pricing not updated for partial billing items
    Javascript learning
  • 原文地址:https://www.cnblogs.com/LaughTale/p/12990450.html
Copyright © 2011-2022 走看看