<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
            <value>classpath:application.properties</value>
        </property>
    </bean>

    <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
        <property name="driverClassName" value="${mssql.jdbc.driverClassName}"/>
        <property name="jdbcUrl" value="${mssql.jdbc.url}"/>
        <property name="username" value="${mssql.jdbc.username}"/>
        <property name="password" value="${mssql.jdbc.password}"/>

        <!--  pool  -->
        <property name="maximumPoolSize" value="${mssql.pool.maxActive}"/>
        <property name="maxLifetime" value="${mssql.pool.maxWait}"/>
        <property name="autoCommit" value="${mssql.pool.defaultAutoCommit}"/>
    </bean>


    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
        <property name="queryTimeout" value="120"/>
    </bean>

    <!-- Notice: If your middle-ware is tomcat, You'd better choose the following
        this configuration scheme -->
    <!--<bean id="nativeJdbcExtractor"-->
    <!--class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"-->
    <!--lazy-init="true"/>-->

    <!-- Notice: If your middle-ware is websphere, You'd better choose the following
        this configuration scheme -->
    <!--<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler"-->
    <!--lazy-init="true">-->
    <!--<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>-->
    <!--</bean>-->


    <!-- Bi大屏调用数据链接 -->
    <!--<bean id="biiDataSource" class="com.alibaba.druid.pool.DruidDataSource" lazy-init="true" init-method="init" destroy-method="close">-->
        <!--<property name="driverClassName" value="${spring.datasource.bii.driver}"/>-->
        <!--<property name="url" value="${spring.datasource.bii.url}"/>-->
        <!--<property name="username" value="${spring.datasource.bii.username}"/>-->
        <!--<property name="password" value="${spring.datasource.bii.password}"/>-->
        <!--&lt;!&ndash;  pool  &ndash;&gt;-->

        <!--<property name="filters" value="stat"/>-->

        <!--<property name="maxActive" value="20"/>-->
        <!--<property name="initialSize" value="1"/>-->
        <!--<property name="maxWait" value="60000"/>-->
        <!--<property name="minIdle" value="1"/>-->

        <!--<property name="timeBetweenEvictionRunsMillis" value="60000"/>-->
        <!--<property name="minEvictableIdleTimeMillis" value="300000"/>-->

        <!--<property name="testWhileIdle" value="true"/>-->
        <!--<property name="testOnBorrow" value="false"/>-->
        <!--<property name="testOnReturn" value="false"/>-->

        <!--<property name="poolPreparedStatements" value="true"/>-->
        <!--<property name="maxOpenPreparedStatements" value="20"/>-->
    <!--</bean>-->
    <!--<bean name="sqlSessionFactoryForBii" class="org.mybatis.spring.SqlSessionFactoryBean" lazy-init="true">-->
        <!--<property name="dataSource" ref="biiDataSource"></property>-->
        <!--<property name="mapperLocations">-->
            <!--<list>-->
                <!--<value>classpath:/mybatis/mapper/bii/*Mapper.xml</value>-->
            <!--</list>-->
        <!--</property>-->
    <!--</bean>-->
    <!--<bean id="mapperScannerConfigurerForBii" class="tk.mybatis.spring.mapper.MapperScannerConfigurer" lazy-init="true">-->
        <!--<property name="basePackage" value="cn.com.countrygarden.bi.main.dao.bii"/>-->
        <!--<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryForBii"/>-->
        <!--<property name="properties">-->
            <!--<value>-->
                <!--mappers=cn.com.countrygarden.bi.main.core.Mapper-->
            <!--</value>-->
        <!--</property>-->
    <!--</bean>-->

    <!-- MySQL 连接池 -->
    <bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init"
          destroy-method="close">
        <property name="url" value="${spring.datasource.url}"/>
        <property name="username" value="${spring.datasource.username}"/>
        <property name="password" value="${spring.datasource.password}"/>

        <property name="filters" value="stat"/>

        <property name="maxActive" value="20"/>
        <property name="initialSize" value="1"/>
        <property name="maxWait" value="60000"/>
        <property name="minIdle" value="1"/>

        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <property name="minEvictableIdleTimeMillis" value="300000"/>

        <property name="testWhileIdle" value="true"/>
        <property name="testOnBorrow" value="false"/>
        <property name="testOnReturn" value="false"/>

        <property name="poolPreparedStatements" value="true"/>
        <property name="maxOpenPreparedStatements" value="20"/>
        <property name="connectionInitSqls" value="set names utf8mb4;"/>
    </bean>


    <!-- 引入支持jdbc的事务管理器 -->
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="druidDataSource"/>
    </bean>

    <tx:annotation-driven transaction-manager="txManager"/>

    <!-- 配置sqlSessionFactory 并读取mybatis的一些配置 -->
    <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="druidDataSource"></property>
        <!--<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml"></property>-->
        <property name="mapperLocations">
            <list>
                <value>
                    classpath:/mybatis/mapper/bi/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/common/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/marketing/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/resident/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/phoenix/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/casefield/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/dup/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/project/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/*/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/wcx/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/dataMigration/*Mapper.xml
                </value>
            </list>
        </property>
        <property name="typeAliasesPackage"
                  value="cn.com.countrygarden.bi.main.model,cn.com.countrygarden.bi.main.model.dup,cn.com.countrygarden.bi.main.model.sys,cn.com.countrygarden.bi.main.model.common,cn.com.countrygarden.bi.main.model.marketing,cn.com.countrygarden.bi.main.model.resident,cn.com.countrygarden.bi.main.model.phoenix"/>
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <!-- 这里的几个配置主要演示如何使用，如果不理解，一定要去掉下面的配置 pageNum=pageNum;pageSize=pageSize;count=countSql-->
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                            rowBoundsWithCount=true
                            pageSizeZero=true
                            offsetAsPageNum=true
                            supportMethodsArguments=true
                            autoRuntimeDialect=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
        <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml"/>
    </bean>

    <bean id="mapperScannerConfigurer" class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage"
                  value="cn.com.countrygarden.bi.main.dao,cn.com.countrygarden.bi.main.dao.dup,cn.com.countrygarden.bi.main.dao.sys,cn.com.countrygarden.bi.main.dao.common,cn.com.countrygarden.bi.main.dao.marketing,cn.com.countrygarden.bi.main.dao.resident,cn.com.countrygarden.bi.main.dao.phoenix"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <property name="properties">
            <value>
                mappers=cn.com.countrygarden.bi.main.core.Mapper
            </value>
        </property>
    </bean>


    <!-- mybatis sqlSessionFactory for ERP SQL Server -->


    <bean name="sqlSessionFactorySQLServer" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation" value="classpath:/mybatis/mybatis-config-sqlserver.xml"></property>
        <!--<property name="mapperLocations" value="classpath:/mybatis/mapper/twerp/*Mapper.xml" />-->
        <!--<property name="typeAliasesPackage" value="cn.com.countrygarden.bi.main.model.twerp.hm"/>-->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <!-- 这里的几个配置主要演示如何使用，如果不理解，一定要去掉下面的配置 pageNum=pageNum;pageSize=pageSize;count=countSql-->
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                            rowBoundsWithCount=true
                            pageSizeZero=true
                            offsetAsPageNum=true
                            supportMethodsArguments=true
                            autoRuntimeDialect=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

    <bean id="mapperScannerConfigurerForErp" class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="cn.com.countrygarden.bi.main.dao.dup,cn.com.countrygarden.bi.main.dao.twerp.hm"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactorySQLServer"/>
        <property name="properties">
            <value>
                mappers=cn.com.countrygarden.bi.main.core.Mapper
            </value>
        </property>
    </bean>
    <bean id="managerMapForErpMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.ManagerMapForErpMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbDesktopResourceMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbDesktopResourceMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbSysUserMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbSysUserMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbSysDepartmentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbSysDepartmentMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbSysUserRoleMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbSysUserRoleMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbSysOrganMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbSysOrganMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbDesktopResourceRoomStateMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface"
                  value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbDesktopResourceRoomStateMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbDesktop经营主题Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbDesktop经营主题Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbDesktop经营主题收款方式Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbDesktop经营主题收款方式Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbDesktop经营主题停车收入Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbDesktop经营主题停车收入Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbDesktop本日新增Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbDesktop本日新增Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbHsprFeesdetailMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbHsprFeesdetailMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbHsprCommunityMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbHsprCommunityMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="tbDeskTopFeesDailyMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.TbDeskTopFeesDailyMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <bean id="viewHsprFeesSerialStaticMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.twerp.hm.ViewHsprFeesSerialStaticMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <!-- 合同录入 -->
    <bean id="tbHsprContractMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.dup.TbHsprContractMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <!-- 转名统计 -->
    <bean id="divertStatisticalMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.dup.DivertStatisticalMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>
    <!-- 周收入统计 -->
    <bean id="weekIncomeMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.dup.WeekIncomeMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>

    <bean id="basicInfoMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.mediaResource.BasicInfoMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactorySQLServer"/>
    </bean>

    <!-- <bean id="mapperScannerConfigurerForEba" class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
         <property name="basePackage" value="cn.com.countrygarden.bi.main.dao.eba"/>
         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryForEba"/>
         <property name="properties">
             <value>
                 mappers=cn.com.countrygarden.bi.main.core.Mapper
             </value>
         </property>
     </bean>-->


    <!--<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">-->
    <!--<property name="basePackage" value="cn.com.countrygarden.bi.main.dao.base"/>-->
    <!--</bean>-->

    <!-- http client -->
    <bean id="clientHttpRequestFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">
        <property name="readTimeout" value="10000"/>
        <property name="connectTimeout" value="30000"/>
    </bean>

    <bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
        <constructor-arg ref="clientHttpRequestFactory"/>
    </bean>






    <!-- 绩效管理 连接池 -->
    <bean id="performanceDataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init"
          destroy-method="close">
        <property name="driverClassName" value="${performance.datasource.driver}"/>
        <property name="url" value="${performance.datasource.url}"/>
        <property name="username" value="${performance.datasource.username}"/>
        <property name="password" value="${performance.datasource.password}"/>

        <property name="filters" value="stat"/>

        <property name="maxActive" value="20"/>
        <property name="initialSize" value="1"/>
        <property name="maxWait" value="60000"/>
        <property name="minIdle" value="1"/>

        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <property name="minEvictableIdleTimeMillis" value="300000"/>

        <property name="testWhileIdle" value="true"/>
        <property name="testOnBorrow" value="false"/>
        <property name="testOnReturn" value="false"/>

        <property name="poolPreparedStatements" value="true"/>
        <property name="maxOpenPreparedStatements" value="20"/>
        <property name="connectionInitSqls" value="set names utf8mb4;"/>
    </bean>



    <!-- 配置sqlSessionFactory 并读取mybatis的一些配置 -->
    <bean name="sqlSessionFactoryPerformance" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="performanceDataSource"/>
        <property name="typeAliasesPackage" value="cn.com.countrygarden.bi.main.model.performance"/>
        <property name="mapperLocations">
            <list>
                <value>
                    classpath:/mybatis/mapper/performance/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/financial/*Mapper.xml
                </value>
            </list>
        </property>
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <!-- 这里的几个配置主要演示如何使用，如果不理解，一定要去掉下面的配置 pageNum=pageNum;pageSize=pageSize;count=countSql-->
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                            rowBoundsWithCount=true
                            pageSizeZero=true
                            offsetAsPageNum=true
                            supportMethodsArguments=true
                            autoRuntimeDialect=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactoryPerformance" />
    </bean>

    <bean id="mapperScannerConfigurerPerformance" class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage"
                  value="cn.com.countrygarden.bi.main.dao.performance,cn.com.countrygarden.bi.main.dao.financial"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryPerformance"/>
        <property name="properties">
            <value>
                mappers=cn.com.countrygarden.bi.main.core.Mapper
            </value>
        </property>
    </bean>


    <!-- 事务管理 -->
    <bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>


    <bean id="performanceEnvMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceEnvMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceElementMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceElementMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceScoreMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceScoreMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceStatisticsMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceStatisticsMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceTargetMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceTargetMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="performanceCompanyMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceCompanyMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceMonthlyMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceMonthlyMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceMonthlyStatisticsMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceMonthlyStatisticsMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>


    <bean id="performanceWeightMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceWeightMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceTypeMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceTypeMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceAreaMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceAreaMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>
    <bean id="performanceRecordMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.PerformanceRecordMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="bdpsndocMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.bdpsndocMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>


    <bean id="hipsndocworkMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.hipsndocworkMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="hipsndoctrainMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.hipsndoctrainMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="hipsnjobMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.performance.hipsnjobMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="baseDocNamesMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.BaseDocNamesMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="orgFinanceorgMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.OrgFinanceorgMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f050Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F050Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f051Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F051Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f074Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F074Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="orgAccountingBookMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.OrgAccountingBookMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="tbBudgetSubMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.TbBudgetSubMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f045Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F045Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f046Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F046Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f047Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F047Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f224Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F224Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f203Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F203Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f204Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F204Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f205Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F205Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="orgBosmemberMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.OrgBosmemberMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="f206Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.F206Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="bGY215Mapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.BGY215Mapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="orgDeptMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.OrgDeptMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="bdAccasoaMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.BdAccasoaMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="subbalanceMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.SubbalanceMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="erpToNcMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.ErpToNcMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="commIdMatchCodoMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.CommIdMatchCodoMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="projectProfitMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.ProjectProfitMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="reasonMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.ReasonMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <bean id="feeadjdataMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.FeeadjdataMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>


    <bean id="budgetdataMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.financial.BudgetdataMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactoryPerformance"/>
    </bean>

    <!-- 用于获取天问头像地址数据库 -->
    <bean id="hmWyglDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
        <property name="driverClassName" value="${hmWygl.jdbc.driver}"/>
        <property name="jdbcUrl" value="${hmWygl.jdbc.url}"/>
        <property name="username" value="${hmWygl.jdbc.username}"/>
        <property name="password" value="${hmWygl.jdbc.password}"/>

        <!--  pool  -->
        <property name="maximumPoolSize" value="${mssql.pool.maxActive}"/>
        <property name="maxLifetime" value="${mssql.pool.maxWait}"/>
        <property name="autoCommit" value="${mssql.pool.defaultAutoCommit}"/>
    </bean>


    <bean id="hmWyglJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="hmWyglDataSource"/>
        <property name="queryTimeout" value="120"/>
    </bean>

    <bean name="hmWyglSqlSessionFactorySQLServer" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="hmWyglDataSource"></property>
        <property name="mapperLocations">
            <list>
                <value>
                    classpath:/mybatis/mapper/hmWygl/*Mapper.xml
                </value>
                <value>
                    classpath:/mybatis/mapper/extension/ExtensionErpBindingMapper.xml
                </value>
            </list>
        </property>
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <!-- 这里的几个配置主要演示如何使用，如果不理解，一定要去掉下面的配置 pageNum=pageNum;pageSize=pageSize;count=countSql-->
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                            rowBoundsWithCount=true
                            pageSizeZero=true
                            offsetAsPageNum=true
                            supportMethodsArguments=true
                            autoRuntimeDialect=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

    <bean id="tbHSPRRegionAvatarInfoMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.hmWygl.TbHSPRRegionAvatarInfoMapper"/>
        <property name="sqlSessionFactory" ref="hmWyglSqlSessionFactorySQLServer"/>
    </bean>

    <bean id="extensionErpBindingMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.com.countrygarden.bi.main.dao.extension.ExtensionErpBindingMapper"/>
        <property name="sqlSessionFactory" ref="hmWyglSqlSessionFactorySQLServer"/>
    </bean>
</beans>
