• 【springmvc集成mybatis框架】


     一、添加mybatis依赖

    <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis</artifactId>
             <version>3.4.5</version>
    </dependency>
    <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis-spring</artifactId>
             <version>1.3.1</version>
    </dependency>

    二、添加spring-mybatis.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                            http://www.springframework.org/schema/context
                            http://www.springframework.org/schema/context/spring-context-3.1.xsd
                            http://www.springframework.org/schema/mvc
                            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    
        <!-- 扫描service包下所有使用注解的类型 -->
        <context:component-scan base-package="com.yiji.ifp"/>
    
        <!-- 阿里巴巴德鲁伊数据库连接池 -->
        <bean id="dataSource_mybatis" class="com.alibaba.druid.pool.DruidDataSource"
              init-method="init" destroy-method="close">
            <!-- 基本属性 url、user、password -->
            <property name="url" value="${ds.url}" />
            <property name="username" value="${ds.username}" />
            <property name="password" value="${ds.password}" />
    
            <!-- 配置初始化大小、最小、最大 -->
            <property name="initialSize" value="1" />
            <property name="minIdle" value="1" />
            <property name="maxActive" value="50" />
    
            <!-- 配置获取连接等待超时的时间 -->
            <property name="maxWait" value="60000" />
    
            <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
            <property name="timeBetweenEvictionRunsMillis" value="60000" />
    
            <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
            <property name="minEvictableIdleTimeMillis" value="300000" />
    
            <property name="validationQuery" value="SELECT 'x'" />
            <property name="testWhileIdle" value="true" />
            <property name="testOnBorrow" value="false" />
            <property name="testOnReturn" value="false" />
    
            <!-- 打开removeAbandoned功能 -->
            <property name="removeAbandoned" value="true" />
            <property name="removeAbandonedTimeout" value="1800" />
            <!-- 1800秒,也就是30分钟 -->
            <property name="logAbandoned" value="true" />
            <!-- 关闭abanded连接时输出错误日志 -->
    
            <!-- 打开PSCache,并且指定每个连接上PSCache的大小,mysql 不使用 -->
            <property name="poolPreparedStatements" value="false" />
            <!-- 配置监控统计拦截的filters -->
            <property name="filters" value="stat" />
            <!-- 慢查询sql打印 -->
            <property name="connectionProperties" value="druid.stat.slowSqlMillis=100" />
        </bean>
    
        <!-- ========================================针对myBatis的配置项============================== -->
        <!-- 配置sqlSessionFactory -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource_mybatis"/>
    
            <property name="mapperLocations" value="classpath:/ifpmybatis/**/*.xml"/>
            <property name="configLocation" value="classpath:/spring/ifp-mybatis-setting.xml"/>
        </bean>
    
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!-- 扫描com.yiji.ifp.domain.mybatis.mapper这个包以及它的子包下的所有映射接口类 -->
            <property name="basePackage" value="com.yiji.ifp.domain.mybatis.mapper"/>
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        </bean>
    
    </beans>

    三、添加ifp-mybatis-setting.xml文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    
        <!--设置mybatis的属性 -->
        <settings>
            <!--Mybatis内置的日志工厂提供日志功能,具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。-->
            <!--它会使用最先找到的。 如果一个都未找到,日志功能就会被禁用。-->
            <!--如果设定了STDOUT_LOGGING,实现类是StdOutImpl.java-->
            <setting name="logImpl" value="STDOUT_LOGGING" />
            <!--当传入值为Null时,提示“无效的列类型”的解决办法-->
            <setting name="jdbcTypeForNull" value="NULL" />
            <!-- 开启驼峰命名转换   load_rate====>loadRate -->
            <setting name="mapUnderscoreToCamelCase" value="true"/>
        </settings>
    
    </configuration>

    四、将spring-mybatis.xml加入到项目配置引用中。

      查看web.xml中<web-app>里是否有以下配置

        <!-- Spring配置 -->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                classpath*:spring/*.xml
            </param-value>
        </context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>

      如果不生效,在*-servlet.xml文件的<beans>中,加入以下配置

        <!-- Spring配置 -->
        <import resource="classpath*:spring/spring-mybatis.xml"/>

    五、项目结构

     

    终身学习者
  • 相关阅读:
    【Python】ModuleNotFoundError: No module named 'matplotlib.pyplot'
    【DB2】DB2使用IMPORT命令导入含有自增长列的表报错处理
    ~~
    汉字的unicode码范围是多少?
    字符编码(ASCII,Unicode和UTF-8) 和 大小端(zz)
    是否 whether ,if
    定语从句:
    by,with
    C++中extern “C”含义深层探索
    安装Office2007时出现1706错误的解决方案
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/9482197.html
Copyright © 2020-2023  润新知