Spring+Struts2+Mybatis在Intellij下的整合

环境:jdk 1.8,      tomcat 8.0.38;

开发工具:Intellj;

具体步骤:

1. 创建一个maven下的web项目

2. 配置相应的jar文件,具体的配置方式为:

<dependencies>
    <dependency>
        <groupId>junitgroupId>
        <artifactId>junitartifactId>
        <version>4.12version>
        <scope>testscope>
    dependency>
    <dependency>
        <groupId>org.apache.strutsgroupId>
        <artifactId>struts2-coreartifactId>
        <version>2.5.8version>
    dependency>
    
    <dependency>
        <groupId>javax.servletgroupId>
        <artifactId>jstlartifactId>
        <version>1.2version>
    dependency>
    <dependency>
        <groupId>taglibsgroupId>
        <artifactId>standardartifactId>
        <version>1.1.2version>
    dependency>
    
    <dependency>
        <groupId>log4jgroupId>
        <artifactId>log4jartifactId>
        <version>1.2.17version>
    dependency>
    
    <dependency>
        <groupId>com.alibabagroupId>
        <artifactId>fastjsonartifactId>
        <version>1.2.21version>
    dependency>
    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>5.1.38version>
    dependency>
    <dependency>
        <groupId>org.mybatis.generatorgroupId>
        <artifactId>mybatis-generator-coreartifactId>
        <version>1.3.5version>
    dependency>
    
    <dependency>
        <groupId>com.alibabagroupId>
        <artifactId>druidartifactId>
        <version>1.0.26version>
    dependency>
    
    <dependency>
        <groupId>org.mybatisgroupId>
        <artifactId>mybatisartifactId>
        <version>3.4.1version>
    dependency>
    
    <dependency>
        <groupId>org.mybatisgroupId>
        <artifactId>mybatis-springartifactId>
        <version>1.3.0version>
    dependency>
    
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-webmvcartifactId>
        <version>4.3.5.RELEASEversion>
    dependency>
    
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-coreartifactId>
        <version>4.3.5.RELEASEversion>
    dependency>
    
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-contextartifactId>
        <version>4.3.5.RELEASEversion>
    dependency>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-txartifactId>
        <version>4.3.5.RELEASEversion>
    dependency>
    
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-aopartifactId>
        <version>4.3.5.RELEASEversion>
    dependency>
    
    <dependency>
        <groupId>org.aspectjgroupId>
        <artifactId>aspectjweaverartifactId>
        <version>1.8.9version>
    dependency>
    <dependency>
        <groupId>org.aspectjgroupId>
        <artifactId>aspectjrtartifactId>
        <version>1.8.9version>
    dependency>
    
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-jdbcartifactId>
        <version>4.3.5.RELEASEversion>
    dependency>
    
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-webartifactId>
        <version>4.3.5.RELEASEversion>
    dependency>
dependencies>
<build>
    <finalName>SpringStrutsMyBatisfinalName>
    
    <resources>
        <resource>
            <directory>src/main/javadirectory>
            <includes>
                <include>**/*.xmlinclude>
            includes>
        resource>
    resources>
build>


3.  创建一个控制层的实体类:LoginAction.java, 并新建一个struts的配置文件struts.xml

具体的代码为:

package com.ssm.action;

import com.ssm.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class LoginAction {

    @Autowired
    private DeptService deptService;
    private String uname;
    private String upass;
    public String login() {
        if("aa".equals(uname)&&"aa".equals(upass)){
           
            return "success";
        }else
            return "error";
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public String getUpass() {
        return upass;
    }
    public void setUpass(String upass) {
        this.upass = upass;
    }
}


struts.xml:配置文件:

<struts>
   <constant name="struts.i18n.encoding" value="UTF-8">constant>
    
   <constant name="struts.action.extension" value="do,action" />
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <package name="user" namespace="/user" extends="struts-default" strict-method-invocation="false">
        <action name="login" class="com.ssm.action.LoginAction" method="login">
            <result type="dispatcher" name="input">/login.jspresult>
            <result type="dispatcher" name="success">/success.jspresult>
            <result type="dispatcher" name="error">/error.jspresult>
        action>
    package>
struts>

4. 对web.xml文件做如下配置:

<filter>
    <filter-name>struts2filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    filter-class>
filter>
<filter-mapping>
    <filter-name>struts2filter-name>
    <url-pattern>/*url-pattern>
filter-mapping>
<welcome-file-list>
    <welcome-file>login.jspwelcome-file>
welcome-file-list>

5. 配置MyBatis, 新建一个xml文件,准备一个mybatis-generator-core-1.3.2.jar, 其位置关系如下:

Spring+Struts2+Mybatis在Intellij下的整合_第1张图片


具体作如下配置:

xml version="1.0" encoding="UTF-8"?>
 generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    
    <classPathEntry
            location="C:/Users/Administrator/.m2/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar"/>
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            
            <property name="suppressAllComments" value="true"/>
        commentGenerator>
        
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=true"
                        userId="root"
                        password="root">
        jdbcConnection>
        
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        javaTypeResolver>
        
        <javaModelGenerator targetPackage="com.ssm.domain"
                            targetProject="../../java">
            
            <property name="enableSubPackages" value="true"/>
            
            <property name="trimStrings" value="true"/>
        javaModelGenerator>
        
        <sqlMapGenerator targetPackage="com.ssm.mapping"
                         targetProject="../../java">
            
            <property name="enableSubPackages" value="true"/>
        sqlMapGenerator>
        
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.ssm.dao" targetProject="../../java">
            
            <property name="enableSubPackages" value="true"/>
        javaClientGenerator>
        
        

<table tableName="tb_Dept" domainObjectName="Dept"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
table>
context>
generatorConfiguration>

然后,打开命令行窗口(win+R):进入该配置文件所在的目录,然后,输入以下命令:
java -jar mybatis-generator-core-1.3.2.jar -configfile ../myBatisAuto/generatorConfig.xml -overwrite(需要注意的是:不能更改位置结构),此时相应的包下,已经生成了相应的实体类及dao层的文件;

6. 新建一个xml文件mybatisMapper.xml用来加载相应的mapping包下的资源,具体作如下配置:
xml version="1.0" encoding="UTF-8" ?>
 configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

   <mappers>
        <mapper resource="com/ssm/mapping/DeptMapper.xml"/>
    mappers>
configuration>

7. 创建一个Spring的配置文件applicationContext.xml文件,并做以下配置:


<context:component-scan base-package="com.ssm">context:component-scan>



<bean id="ds" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver">property>
    <property name="url" value="jdbc:mysql:///test?useSSL=false">property>
    <property name="username" value="root">property>
    <property name="password" value="root">property>
bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="ds">property>
    <property name="configLocation" value="classpath:mybatisMapper.xml">property>
bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.ssm.dao">property>  
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>
bean>

<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="ds" />
bean>
<tx:annotation-driven transaction-manager="txManager" /> 


8. 在webapp下创建几个jsp的测试页面,其结构如下:

Spring+Struts2+Mybatis在Intellij下的整合_第2张图片



页面 login.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title



   
   

   




success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    登录成功


登录成功



error.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    登录失败


    登陆失败



9. 接下来用注解的方式,使相应层的类受Spring的管理,具体的注解方式,可以查阅其他资料获取,此处不再一一赘述;









你可能感兴趣的:(框架整合)