Struts2+Spring+Mybatis框架集成的搭建。(SSM形式)

来源:互联网 发布:校园网络搭建需求分析 编辑:程序博客网 时间:2024/05/21 14:46

1. jar包
struts2:相关jar
spring:相关加入
struts2-spring-plugin.jar:spring和struts集成jar
mybatis:相关jar
mysql:数据库驱动包(这里用mysql作为样本)
mybatis-spring-1.2.1.jar:mybatis和spring集成jar
dbcp:database连接池
jstl:c标签(前台)
junit:测试相关
如果还需其他jar,自己加

2. 首先配置web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  <display-name>SSM</display-name>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>    <!-- 配置Spring监视器 -->    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:applicationContext.xml</param-value>    </context-param>    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <!-- 配置strtus请求过滤器 -->    <filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>*.action</url-pattern>    </filter-mapping></web-app>

3. 配置连接数据库参数: jdbc.properties

username=rootpassword=123driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/ssm

4. 配置Spring主配置文件(就是Spring监视器中的location)

<?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:context="http://www.springframework.org/schema/context"        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">        <!-- 注解扫描路径 -->        <context:component-scan base-package="com.spring_struts"></context:component-scan>        <!-- 解析datasource -->        <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">            <property name="locations" value="classpath:jdbc.properties"></property>        </bean>        <bean class="org.apache.commons.dbcp2.BasicDataSource" id="dataSource" destroy-method="close">            <property name="url" value="${url}"></property>            <property name="username" value="${username}"></property>            <property name="driverClassName" value="${driverClassName}"></property>            <property name="password" value="${password}"></property>        </bean>        <!-- 以下两个是Mybatis配置文件 -->        <!-- 配置自定义注解映射扫描范围和名称  -->        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" id="mapperScannerConfigurer">            <!-- 用到自定义注解类的包 -->            <property name="basePackage" value="com.spring_struts.mapper"></property>            <!-- 自定义注解 -->            <property name="annotationClass" value="com.spring_struts.annotation.MybatisAnotation"></property>        </bean>        <!-- 配置SqlSessionFactoryBean -->        <bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactoryBean">            <!-- 配置datasource -->            <property name="dataSource" ref="dataSource"></property>            <!-- 如果一个包下有多个, -->            <property name="mapperLocations" value="classpath:com/spring_struts/mapper/mapperxml/*.xml"></property>            <!--   主配置文件(可以配置别名)  -->            <property name="configLocation" value="classpath:SqlMapConfig.xml"></property>        </bean>    </beans>

5. 创建struts.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <package name="user_default" extends="struts-default" namespace="/user" >        <!-- 这里的class是spring中@Controller中bean别名 -->        <action name="findall" class="userAction">            <result>/WEB-INF/jsp/userlist.jsp</result>        </action>        <!-- 这里的class是@controller 类的 Javabean 的 ID -->        <action name="add" class="userAction" method="addUser">            <result type="chain">findall</result>        </action>        <action name="delete" class="userAction" method="delete">            <result type="chain" >findall</result>        </action>    </package></struts>

6.注解类 com.spring_struts.annotation.MybatisAnotation:

package com.spring_struts.annotation;public @interface MybatisAnotation {    //定义属性,类名称    String value() default "";}

7.Mybatis接口:Mapper.java

package com.spring_struts.mapper;import java.util.List;import com.spring_struts.annotation.MybatisAnotation;import com.spring_struts.entity.User;//自定义的注解@MybatisAnotationpublic interface Mapper {    public List<User> findAll();    public void addUser(String uname);    public void delete(User user);    public void dele(int id);}

8.Mybatis的xml文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"       "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <!-- 接口名 --><mapper namespace="com.spring_struts.mapper.Mapper">    <select id="findAll" resultType="com.spring_struts.entity.User">        select * from t_user        </select>    <insert id="addUser" parameterType="java.lang.String">        insert into t_user values(null,#{uname})    </insert>    <update id="delete" parameterType="com.spring_struts.entity.User">        update t_user set uname=#{uname} where id=#{id}    </update>     <delete id="dele" parameterType="int">        delete from t_user where id=#{id}    </delete> </mapper>

9.mybatis主配置文件:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"     "http://ibatis.apache.org/dtd/ibatis-3-config.dtd"><configguration>    <!-- 配置别名 -->    <typeAliases>        <typeAlias type="com.ssm.entity.Emp" alias="emp"/>    </typeAliases>    <!--     配置Mybatis映射文件     <mappers>        <mapper resource="com/ssm/mapper/mapperxml/*.xml"/>    </mappers>     --></configguration>

注意:在Struts的Action中,要是使用注解 @Controller(“userAction”)

1 0