IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目

目录

1IDEA2017创建maven web工程

1.1开发环境

1.2创建maven web项目

1.3项目部署

2.SSM整合

2.1打开IDEA,创建项目目录如下图所示

2.2创建配置文件

2.2.1pom.xml

2.2.2数据库配置文件db.properties

2.2.3日志配置文件log4j.properties

2.2.4spring-mvc.xml

2.2.5SqlMapConfig.xml

2.2.6spring-mybatis.xml

2.2.7web.xml

2.3创建pojo实体类User.java

2.4dao层及mapper.xml文件

2.4.1UserMapper.java

2.4.2UserMapper.xml

2.5service层及其实现类

2.5.1service.java

2.5.2serviceImpl.java

2.6Controller层

2.6.1UserController.java

3.测试

3.1启动tomcat

3.2注册用户成功


1IDEA2017创建maven web工程

1.1开发环境

  • jdk1.8
  • tomcat 8.5.0
  • idea 2017.1
  • maven 3.3.9
  • 关于这些环境的搭建就不再多说,百度上有很多,请自行百度

1.2创建maven web项目

首先打开idea,点击“create new project“,在左边一栏找到maven,右边把“create from archetype“钩上,根据模版来创建项目,注意在选择模版的时候一定要选择org.apache.maven.archetype下的webapp项目。 

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第1张图片

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第2张图片

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第3张图片

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第4张图片

这里点finish就完成来maven项目的创建

1.3项目部署

在maven项目创建完后,idea会开始下载maven所需要的依赖,这时需要网络好才能成功完成创建。当项目成功创建后的结构如下图: 

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第5张图片

现在需要对项目进行配置,点击project structure(上图最上面一栏倒数第四个图标),点击后弹出下面的框。 

选择Facets

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第6张图片

点击apply后,选择左边栏的artifacts进行配置,点击+ ,选择web application:exploded, 选择form modules,选择我们的web项目,点击ok后如下图 

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第7张图片

点击apply 后点击ok就完成来web项目的配置。 
下面我们将web项目部署到tomcat服务器中,首先在run菜单下找到edit configurations,点击后,选择+,找到tomcat server中的local。 

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第8张图片

name可以根据自己的喜好来填,第一次使用tomcat服务器的同学需要配置application server,选择我们电脑下的tomcat服务器的路径。接着点击deployment,选择+,arifacts,将我们前面配置的artifacts部署到tomcat中,我们可以在application context配置项目的路径。然后点击apply,ok完成tomcat服务器配置。

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第9张图片

接下来我们就可以运行啦,看看是否部署成功。点击下图中的爬虫一样的按钮debug,可以看到tomcat服务器正在启动中,如果tomcat服务器没有问题就可以成功的启动。 

 

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第10张图片

2.SSM整合

2.1打开IDEA,创建项目目录如下图所示

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第11张图片

2.2创建配置文件

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第12张图片

2.2.1pom.xml

 

  4.0.0
  com.gym
  gymSys
  war
  1.0-SNAPSHOT
  gymSys Maven Webapp
  http://maven.apache.org
  
    UTF-8
    
    4.3.8.RELEASE
    3.2.8
  

  
    
    
      org.springframework
      spring-core
      ${spring.version}
    

    
      org.springframework
      spring-context
      ${spring.version}
    

    
      org.springframework
      spring-tx
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    

    
      org.springframework
      spring-webmvc
      ${spring.version}
    

    
    
      org.springframework
      spring-aop
      ${spring.version}
    

    
    
      org.aspectj
      aspectjrt
      1.8.6
    

    
    
      org.aspectj
      aspectjweaver
      1.8.6
    

    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    

    
    
      org.mybatis
      mybatis-spring
      1.2.3
    

    
    
      mysql
      mysql-connector-java
      5.1.38
    

    
    
      com.alibaba
      druid
      1.0.9
    

    
    
      jstl
      jstl
      1.2
    

    
    
      log4j
      log4j
      1.2.17
    
    
      org.slf4j
      slf4j-log4j12
      1.7.21
    

    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
      javax.servlet.jsp
      jsp-api
      2.1
      provided
    

    
    
      junit
      junit
      3.8.1
      test
    

    
    
      org.projectlombok
      lombok
      1.16.18
    
    
    
      com.github.pagehelper
      pagehelper
      3.4.2-fix
    

    
    
      javax.mail
      mail
      1.3.2
    

    
    
      javax.websocket
      javax.websocket-api
      1.1
      provided
    
    
      org.springframework
      spring-websocket
      4.0.1.RELEASE
    
    
      org.codehaus.jackson
      jackson-mapper-asl
      1.9.12
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.7.4
    
    
      com.fasterxml.jackson.core
      jackson-core
      2.7.4
    
    
      com.fasterxml.jackson.core
      jackson-annotations
      2.7.4
    
  
  
    gymSys
    
      
        src/main/java
        
          **/*.properties
          **/*.xml
        
        false
      
      
        src/main/resources
        
          **/*.properties
          **/*.xml
        
        false
      
    
  
 

2.2.2数据库配置文件db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/gym?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root
jdbc.maxActive=10
jdbc.minIdle=5

2.2.3日志配置文件log4j.properties

### Log4j配置 ###
### 与Spring结合需要在web.xml中指定此文件位置,并添加监听器 ###
#定义log4j的输出级别和输出目的地(目的地可以自定义名称,和后面的对应)
#[ level ] , appenderName1 , appenderName2
log4j.rootLogger=DEBUG,console,file


#-----------------------------------#
#1 定义日志输出目的地为控制台
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
####可以灵活地指定日志输出格式,下面一行是指定具体的格式 ###
#%c: 输出日志信息所属的类目,通常就是所在类的全名
#%m: 输出代码中指定的消息,产生的日志具体信息
#%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n


#-----------------------------------#
#2 文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.file = org.apache.log4j.RollingFileAppender
#日志文件输出目录
log4j.appender.file.File=log/tibet.log
#定义文件最大大小
log4j.appender.file.MaxFileSize=10mb
###输出日志信息###
#最低级别
log4j.appender.file.Threshold=ERROR
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
#4 mybatis 显示SQL语句部分
log4j.logger.org.mybatis=DEBUG
#log4j.logger.cn.tibet.cas.dao=DEBUG
#log4j.logger.org.mybatis.common.jdbc.SimpleDataSource=DEBUG#
#log4j.logger.org.mybatis.common.jdbc.ScriptRunner=DEBUG#
#log4j.logger.org.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG#
#log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

2.2.4spring-mvc.xml




    
    

    
    

    
    

    
    
    

2.2.5SqlMapConfig.xml




	
	
		
			
        	
		
	
	

2.2.6spring-mybatis.xml




    
    
    
    
    
        
        
        
        
        
        
    
    
    
        
        
        
        
    
    
    
        
    

    

    
    

    
    
    
    

    
    
        
            
            
            
            
            
            
            
            
            
            
        
    

    
    
        
        
    

2.2.7web.xml



    Archetype Created Web Application
    
     
       contextConfigLocation
       
           classpath:config/spring/spring-mybatis.xml
           classpath:config/shiro/shiro.xml
       
     
    
    
        log4jConfigLocation
        classpath:log4j.properties
    
    
        log4jRefreshInterval
        60000
    
    
        org.springframework.web.util.Log4jConfigListener
    
    
       org.springframework.web.context.ContextLoaderListener
     
    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        CharacterEncodingFilter
        /*
    
    
    
        shiroFilter
        org.springframework.web.filter.DelegatingFilterProxy
        true
        
            targetFilterLifecycle
            true
        

2.3创建pojo实体类User.java

package com.gym.pojo;

import lombok.Data;

@Data
public class User {
    private Integer userId;

    private String userName;

    private String userPassword;

    private String userEmail;

    private String userPhone;

    private String userPhoto;

}

2.4dao层及mapper.xml文件

2.4.1UserMapper.java

package com.gym.dao;

import com.gym.pojo.User;

public interface UserMapper {
    int deleteByPrimaryKey(Integer userId);

    int insert(User record);

    int insertSelective(User record);

    User selectByPrimaryKey(Integer userId);

    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);
}

2.4.2UserMapper.xml




  
    
    
    
    
    
    
  
  
    user_id, user_name, user_password, user_email, user_phone, user_photo
  
  
  
    delete from user
    where user_id = #{userId,jdbcType=INTEGER}
  
  
    insert into user (user_id, user_name, user_password, 
      user_email, user_phone, user_photo
      )
    values (#{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{userPassword,jdbcType=VARCHAR}, 
      #{userEmail,jdbcType=VARCHAR}, #{userPhone,jdbcType=VARCHAR}, #{userPhoto,jdbcType=VARCHAR}
      )
  
  
    insert into user
    
      
        user_id,
      
      
        user_name,
      
      
        user_password,
      
      
        user_email,
      
      
        user_phone,
      
      
        user_photo,
      
    
    
      
        #{userId,jdbcType=INTEGER},
      
      
        #{userName,jdbcType=VARCHAR},
      
      
        #{userPassword,jdbcType=VARCHAR},
      
      
        #{userEmail,jdbcType=VARCHAR},
      
      
        #{userPhone,jdbcType=VARCHAR},
      
      
        #{userPhoto,jdbcType=VARCHAR},
      
    
  
  
    update user
    
      
        user_name = #{userName,jdbcType=VARCHAR},
      
      
        user_password = #{userPassword,jdbcType=VARCHAR},
      
      
        user_email = #{userEmail,jdbcType=VARCHAR},
      
      
        user_phone = #{userPhone,jdbcType=VARCHAR},
      
      
        user_photo = #{userPhoto,jdbcType=VARCHAR},
      
    
    where user_id = #{userId,jdbcType=INTEGER}
  
  
    update user
    set user_name = #{userName,jdbcType=VARCHAR},
      user_password = #{userPassword,jdbcType=VARCHAR},
      user_email = #{userEmail,jdbcType=VARCHAR},
      user_phone = #{userPhone,jdbcType=VARCHAR},
      user_photo = #{userPhoto,jdbcType=VARCHAR}
    where user_id = #{userId,jdbcType=INTEGER}
  

2.5service层及其实现类

2.5.1service.java

package com.gym.service;

import com.gym.pojo.User;

public interface UserService {
    Integer addUser(User user);
}

2.5.2serviceImpl.java

package com.gym.service.Impl;

import com.gym.dao.UserMapper;
import com.gym.pojo.User;
import com.gym.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService{

    @Autowired
    private UserMapper userMapper;

    public Integer addUser(User user) {
        return userMapper.insert(user);
    }
}

2.6Controller层

2.6.1UserController.java

package com.gym.controller;

import com.gym.pojo.User;
import com.gym.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/user/")
public class UserController {

    @Autowired
    private UserService userSerivce;

    @RequestMapping(value = "register.do")
    @ResponseBody
    private void register(User user){
        System.out.println(user.toString());
        userSerivce.addUser(user);
    }
}

3.测试

3.1启动tomcat

IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目_第13张图片

3.2注册用户成功

使用IDEA2017创建SpringMVC4+Spring4+mybatis3+Maven3的web项目到此结束!(仅为笔记,有错误欢迎指正!!!)

你可能感兴趣的:(Web开发)