1. 程式人生 > >整合SpringMVC框架+Mybatis框架開發人力資源管理系統(五)

整合SpringMVC框架+Mybatis框架開發人力資源管理系統(五)

部署DAO層

對前面實現的DAO元件的呼叫有兩種方式實現:
一是通過SqlSession物件的getMapper()方法獲取介面例項,程式碼如下:

try(
    InputStream is=Resources.getRessourceAsStream("mybatis-config.xml");
    ){
    SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);
    SqlSession sqlSession=sqlSessionFactory.openSession();
    UserDao userDao=sqlSession.getMapper(UserDao.class);
    }catch(Exception e){
        e.printStacktrace();
    }

二是利用spring框架的依賴注入功能,實現對DAO元件的生成與管理。具體的步驟是:
1、新增資料來源C3P0所需jar包,包含c3p0-0.9.5.2.jar、先新增整合Mybatis-Spring中介軟體jar包mybatis-spring-1.3.1.jar,hibernate-c3p0-5.2.10.Final.jar、mchange-commons-java-0.2.11.jar三個jar包。建立資料來源檔案db.properties:

dataSource.driverClass=com.mysql.jdbc.Driver
dataSource.jdbcUrl=jdbc:mysql://localhost:3306/hrm_db
dataSource.user=root
dataSource.password=root
dataSource.maxPoolSize=20
dataSource.maxIdleTime=2000
dataSource.minPoolSize=6
dataSource.initialPoolSize=5

2、整合Mybatis-Spring框架,新增mybatis-spring-1.3.1.jar包。
3、新增MySQL資料庫驅動,WEB-INF/lib資料夾下新增jar包mysql-connector-java-5.1.41-bin
4、建立applicationContext.xml檔案放在WEB-INF/lib路徑下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:tx="http://www.springframework.org/schema/tx"
    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.2.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-3.2.xsd
      http://www.springframework.org/schema/tx
      http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
      http://www.springframework.org/schema/mvc
      http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
      http://mybatis.org/schema/mybatis-spring
      http://mybatis.org/schema/mybatis-spring.xsd
      ">
      <!-- mybatis:scan會掃描org.fkit.hrm.dao包裡的所有介面當做Spring的bean配置,之後可以進行依賴注入 -->
      <mybatis:scan base-package="org.fkit.hrm.dao"/>
      
      <!-- 掃描org.fkit.包下的java檔案,若有Spring的相關注解的類,則把這些類註冊為Spring的bean -->
      <context:component-scan base-package="org.fkit.hrm"/>
      
      <!-- 使用PropertyOverrideConfigurer後處理器載入資料來源引數 -->
      <context:property-override location="classpath:db.properties"/>
    
    <!-- 配置c3po資料來源 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"/>

    <!--配置SqlSessionFacctory,org.mybatis.spring.SqlSessionFactoryBean是Mybatis社群開發用於整合Sring的bean -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
        p:dataSource-ref="dataSource"/>

    <!-- JDBC事務管理 -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
        p:dataSource-ref="dataSource"/>
    
</beans>

這樣就基本上算是對DAO元件部署完成了。