mybats +springmvc +spring4 框架整合详解

来源:互联网 发布:linux简化命令 编辑:程序博客网 时间:2024/06/13 03:04

   spring所有的架包+mybatis+mybatis-spring.jar +aspect.jar. aopalliance-1.0.jar aspectjweaver-1.7.1.ja  r commons-collections-3.2.1.jar

web.xml代码

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:spring.xml;classpath*:spring-mybatis.xml
        </param-value>
    </context-param>
    <servlet>
        <servlet-name>springServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/springServlet-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
    </listener>
    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index_test.jsp</welcome-file>
    </welcome-file-list>
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <el-ignored>false</el-ignored>
        </jsp-property-group>
    </jsp-config>


spring-mybatis.xml

<!-- <import resource="spring-base.xml"/> --><!-- 配置数据源 -->
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:config.properties</value>
            </list>
        </property>
    </bean>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" scope="prototype">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>
    <!-- 配置SessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
        p:dataSource-ref="dataSource" p:mapperLocations="classpath*:com/boss/sys/mappers/person/*.xml" />
    <!-- MapperScanner配置,自动搜索mapper里面的对象,并注入 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
        p:basePackage="com.boss.sys.dao.person">
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    </bean>

spring-mvc.xml配置如下

    扫描注解类

    <context:component-scan base-package="subsystem"></context:component-scan>
    <mvc:annotation-driven></mvc:annotation-driven>
    <!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>

这是Controller类

@Controller
public class PerController {

    
    @RequestMapping("/LoginAction.do")
    public String login() {
        return "list";
    }

}

mybatis  mapper.xml配置文件如下 

namespace 与接口层一致辞

id 对应方法

<mapper namespace="subsystem.hr.person.PersonDao">
    <parameterMap id="perMap" type="java.util.Map">
        <parameter property="resultMsg" javaType="java.lang.String"
            jdbcType="VARCHAR" mode="OUT" />
        <parameter property="personId" javaType="java.lang.String"
            jdbcType="VARCHAR" mode="IN" />
        <parameter property="passWord" javaType="java.lang.String"
            jdbcType="VARCHAR" mode="IN" />
        <parameter property="operIp" javaType="java.lang.String"
            jdbcType="VARCHAR" mode="IN" />
        <parameter property="serverAddress" javaType="java.lang.String"
            jdbcType="VARCHAR" mode="IN" />
    </parameterMap>
    <parameterMap id="sesinMap" type="java.util.Map">
        <parameter property="personId" javaType="java.lang.String"
            jdbcType="VARCHAR" mode="IN" />
        <parameter property="operIp" javaType="java.lang.String"
            jdbcType="VARCHAR" mode="IN" />
    </parameterMap>
    <resultMap id="sesinMap" type="subsystem.hr.person.PersonForm">
        <id column="id" property="id"></id>
        <result column="password" property="password"></result>
        <result column="name" property="name"></result>
        <result column="AccessFileName" property="AccessFileName"></result>
         <result column="engName" property="engName"></result>
        <result column="DeptName" property="DeptName"></result>
        <result column="areaId" property="areaId"></result>
        <result column="disableFlag" property="disableFlag"></result>
        <result column="stateId" property="stateId"></result>
        <result column="PerTypeID" property="PerTypeID"></result>
        <result column="CssFileName" property="CssFileName"></result>
        <result column="DeptName" property="DeptName"></result>
        <result column="DeptTypeID" property="DeptTypeID"></result>
        <result column="PerPartName" property="PerPartName"></result>
        <result column="SaleType" property="SaleType"></result>
        <result column="WorkFlag" property="WorkFlag"></result>
        <result column="LastRestDayFlag" property="LastRestDayFlag"></result>
    </resultMap>
    <select id="T_PersoncheckAccess" parameterMap="perMap" statementType="CALLABLE">  
     <![CDATA[{call T_CheckAccess(?,?,?,?,?)}]]>
    </select>
    <select id="T_GetSessin" parameterMap="sesinMap" statementType="CALLABLE" resultMap="sesinMap">  
     <![CDATA[{call T_GetSession(?,?)}]]>
    </select>
    <select id="findUserByID" parameterType="subsystem.hr.person.PersonForm"
        resultType="subsystem.hr.person.PersonForm">
        <![CDATA[select top 1 id,password from person where password=#{passWord} ]]>
    </select>
</mapper>


0 0
原创粉丝点击