IDEA+Maven 整合SSM框架实现简单的增删改查

在目前的企业级Java应用中,Spring框架是必须的。Struts2框架与Spring的整合问题日益凸显,而Spring MVC作为新一代的MVC框架,因其可以与Spring框架无缝整合的特性收到了越来越多的欢迎。Hibernate框架在面对需要存储过程或者复杂SQL时显得力不从心,不能提供高效的数据库控制。而Mybatis框架作为持久层的框架,虽然需要自己编写SQL语句,但是其对高并发高响应的支持,以及对动态SQL和动态绑定的支持使其脱颖而出。

因此SSM框架(Spring + Spring MVC +Mybatis)逐渐取代了之前广泛使用的SSH框架(Spring + Struts2 + Hibernate),成为了目前使用最多的框架。

本文使用IDEA,利用Maven管理项目,整合SSM框架搭建信息管理系统,实现简单的增、删、改、查功能。步骤详细,讲解丰富,适合新手入门。

开发工具

  • IntelliJ IDEA Ultimate 2017.2.2
  • Apache-tomcat-9.0.5
  • JDK 1.8.0_121
  • MySQL 5.7
  • Maven 3.3.9

工程结构

最终完成后的工程结构:
IDEA+Maven 整合SSM框架实现简单的增删改查_第1张图片

下面开始详细的讲解项目的开发过程。

IDEA+Maven搭建项目骨架

  • 新建Maven项目:点击File -> New -> Project -> Maven -> 勾选 Create from archetype -> 选择 maven-archetype-webapp
    IDEA+Maven 整合SSM框架实现简单的增删改查_第2张图片
    IDEA+Maven 整合SSM框架实现简单的增删改查_第3张图片

  • 在弹出的new project 选项卡中填写GroupId和Artifactid,其中GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构,ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。对于入门练习,这两项可以随意填写。
    IDEA+Maven 整合SSM框架实现简单的增删改查_第4张图片

  • 之后点击next 选择Maven版本(其中IDEA 专业版自带Maven,也可以选择自己下载的maven)。之后填写项目名称和项目地址,完成后点击Finish,完成项目骨架的创建。
    IDEA+Maven 整合SSM框架实现简单的增删改查_第5张图片
    IDEA+Maven 整合SSM框架实现简单的增删改查_第6张图片

在新建的项目中添加所需要的文件/文件夹

  • 创建之后的项目如图所示,我们需要在这之上新建一些目录。
    IDEA+Maven 整合SSM框架实现简单的增删改查_第7张图片

  • 在项目的根目录下新建target文件夹,系统自动将其设置为“Excluded”
    IDEA+Maven 整合SSM框架实现简单的增删改查_第8张图片

  • 在src/main目录下新建Directory:“java”,并将其设置为“Source Root”(即:此项目默认的代码文件源目录)
    IDEA+Maven 整合SSM框架实现简单的增删改查_第9张图片

IDEA+Maven 整合SSM框架实现简单的增删改查_第10张图片
同理,建立resources包,Mark Directory as->Resources Root

  • 在刚才新建的java文件下新建“com”包,再在com包下新建四个包,分别命名为:pojo,service,dao,controller。
    IDEA+Maven 整合SSM框架实现简单的增删改查_第11张图片

上面新建的四个包:bean,service,dao,controller,其所存放的分别是:

-bean: 存放自定义的java类。如:UseInfor类,Paper类,book类等,每个类的属性设为private,并提供public属性的getter/setter方法让外界访问

  • service:定义接口,包含系统所提供的功能。(之后还会在service包下再新建impl包)。
  • dao:定义接口,包含与数据库进行交互的功能。
  • controller:控制器,负责接收页面请求,转发和处理。

在resource包下新建Directory:“mapper”(用于存放xxxMapper.xml文件)和“spring”(用于存放spring-xxx.xml配置文件或者直接新建此文件),新建文件:“db.properties”(mysql数据库配置文件),”log4j.properties”(日志输出配置文件),”applicationnContext.xml”(mybatis框架配置文件)。
IDEA+Maven 整合SSM框架实现简单的增删改查_第12张图片

  • 在web-inf目录下新建“jsp”包,存放xxx.jsp显示界面。
    补充之后的项目目录如下图所示,至此项目骨架搭建完毕,开始写代码实现增删改查功能。

IDEA+Maven 整合SSM框架实现简单的增删改查_第13张图片

自定义Paper类

  • 在这之前要对项目的pom.xml文件进行配置,在此文件中配置项目所需要的jar包。

pom.xml




  4.0.0

  com.zhongruan
  ssm
  1.0-SNAPSHOT
  war

  ssm Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
    
    5.0.2.RELEASE
    
    3.2.6
    
    1.7.7
    1.2.17
    0.9.5.2
    1.1.2
  


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

    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-oxm
      ${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.springframework
      spring-context-support
      ${spring.version}
    

    
      org.springframework
      spring-test
      ${spring.version}
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.2.2
    
    
    
      javax
      javaee-api
      7.0
    

    
    
      mysql
      mysql-connector-java
      5.1.30
    
    
    
      commons-dbcp
      commons-dbcp
      1.2.2
    
    
    
      jstl
      jstl
      1.2
    
    
    
    
      log4j
      log4j
      ${log4j.version}
    


    
    
      com.mchange
      c3p0
      ${c3p0.version}
    

    
      taglibs
      standard
      ${taglibs.version}
    

    
      org.slf4j
      slf4j-api
      ${slf4j.version}
    
    
      org.slf4j
      slf4j-log4j12
      ${slf4j.version}
    

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

  

  
    ssm
    
      
        
          maven-clean-plugin
          3.1.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.8.0
        
        
          maven-surefire-plugin
          2.22.1
        
        
          maven-war-plugin
          3.2.2
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    
  


  • 数据库建表,本想项目所用数据库为MySQL 5.7 。
    IDEA+Maven 整合SSM框架实现简单的增删改查_第14张图片

下面开始写java代码:

  • 在bean包中新建UserInfo.java
package com.zhongruan.bean;

public class UserInfo {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

  • 在service包中新建接口 IUserService:
package com.zhongruan.service;

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserService {
    public List findAll();
    public  void insert(UserInfo userinfo);
    public  void delete(UserInfo userinfo);
    public  void update(UserInfo userinfo);
    public UserInfo findid(int id);
}


  • 在service包下新建impl包,并在此包中新建UserService.java
package com.zhongruan.service.impl;

import com.zhongruan.bean.UserInfo;
import com.zhongruan.dao.IUserDao;
import com.zhongruan.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService implements IUserService {

    @Autowired
    private IUserDao userDao;


    @Override
    public List findAll() {

        return userDao.findAll();
    }
    public  void insert(UserInfo userinfo){

        userDao.insert(userinfo);
    }
    public  void delete(UserInfo userinfo){
        userDao.delete(userinfo);

    }
    public  void update(UserInfo userinfo){

        userDao.update(userinfo);
    }
    public UserInfo findid(int id){
        return userDao.findid(id);

    }
}

  • 在dao包中新建接口 IUserDao.java
package com.zhongruan.dao;

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserDao {
    public List findAll();
    public  void insert(UserInfo userInfo);
    public  void delete(UserInfo userInfo);
    public  void update(UserInfo userInfo);
    public UserInfo findid(int id);
}

  • 在controller包中新建 UserController.java
package com.zhongruan.controller;

import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.IUserService;
import com.zhongruan.service.impl.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

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

    @Autowired
    private IUserService userService;
    @RequestMapping("/findAll.do")
    public ModelAndView findAll(){
        List all=userService.findAll();
        ModelAndView mv=new ModelAndView();
        mv.addObject("userInfos",all);
        mv.setViewName("allUser");
        return mv;
    }
    @RequestMapping("/toAddUser.do")
    public ModelAndView insert(){
        ModelAndView mv=new ModelAndView();
        mv.setViewName("addUser");
        return mv;
    }
    @RequestMapping("/save.do")
    public ModelAndView save(UserInfo userinfo){
        userService.insert(userinfo);
        ModelAndView mv=new ModelAndView();
        mv=findAll();
        return mv;
    }
    @RequestMapping("/delete.do")
    public ModelAndView delete(UserInfo userinfo){
        userService.delete(userinfo);
        ModelAndView mv=new ModelAndView();
        mv=findAll();
        return mv;

    }
    @RequestMapping("/toUpdate.do")
    public ModelAndView toUpdate(int id){
        ModelAndView mv=new ModelAndView();
        mv=findAll();
        UserInfo userinfo=userService.findid(id);
        mv.addObject("userInfo",userinfo);
        mv.setViewName("updateUser");
        return mv;

    }
    @RequestMapping("/update.do")
    public ModelAndView update(UserInfo userinfo)
    {
        ModelAndView mv=new ModelAndView();
        userService.update(userinfo);
        mv=findAll();
        return mv;

    }
}

  • 在resource/mapper包下新建 UserMapper.xml(mybatis框架mapper代理开发配置文件)



    
    
        insert into userinfo(id,username,password) values(#{id},#{username},#{password})
    
    
        delete from userinfo where id =#{id}
    
    
        update userinfo set username=#{username},password=#{password} where id=#{id}
    
    


  • 在resource包下分别新建配置文件:applicationContext.xml , spring-mvc.xml
    IDEA+Maven 整合SSM框架实现简单的增删改查_第15张图片
    applicationContext.xml:(spring-mybatis整合配置文件)


    
    

    
    
        
        
        
        
        
        
    

    
    
        
        
        
        

        
        

    

    
    
    
        
        
        
        
    



    
    


    
    
    
        
    
    
    


  • 在mapper包下新建一个db.properties文件配置mysql数据库(这里的数据库名、表名,用户名,密码一定要记得修改!)和一个log4j.properties文件

在db.properties文件中配置mysql数据库(这里的数据库名、表名,用户名,密码一定要记得修改!)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/idea?useSSL=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
  • 在log4j.properties文件中配置日志设定
log4j.rootLogger=ERROR, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
  • 配置web.xml文件



  
  
    contextConfigLocation
    classpath*:applicationContext.xml
  

  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    org.springframework.web.context.request.RequestContextListener
  

  
  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
  
  
    characterEncodingFilter
    /*
  

  
  
    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:spring-mvc.xml
    
    
    1
  
  
    dispatcherServlet
    *.do
  



  • 修改index.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>


Hello World!

查询所有用户
  • 在WEB-INF/jsp包下分别新建addUser,jsp , allUser.jsp , updateUser.jsp,user-list.jsp

addUser.jsp:所有论文显示界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>



    新增用户
    
    
    


用户ID :


用户姓名:


用户密码:


allUser,jsp:论文添加页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>



    user列表
    
    
    


id username password 操作
${userInfo.id} ${userInfo.username} ${userInfo.password} 更改 | 删除

-updateUser.jsp:论文更改界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    修改论文
    
    
    


用户姓名: 用户密码:

利用tomcat进行项目部署

  • 下载 安装 tomcat
  • IDEA配置tomcat:
    点击上方的 Run 选项,选择Edit Configuration
    IDEA+Maven 整合SSM框架实现简单的增删改查_第16张图片
    选择default -> tomcat -> local 选择下载安装到本地的tomcat服务器的地址
    IDEA+Maven 整合SSM框架实现简单的增删改查_第17张图片
    切换到Deployment选项页 点击 + 号选择 Arctifact ,
    IDEA+Maven 整合SSM框架实现简单的增删改查_第18张图片
  • 添加 项目名:war exploded 打包
    IDEA+Maven 整合SSM框架实现简单的增删改查_第19张图片
  • 最后在Application context 中选择 空白 那一项,点击 Apply 应用。
    IDEA+Maven 整合SSM框架实现简单的增删改查_第20张图片
  • 最后点击“Run”运行
    IDEA+Maven 整合SSM框架实现简单的增删改查_第21张图片

运行结果

IDEA+Maven 整合SSM框架实现简单的增删改查_第22张图片
查询所有用户
IDEA+Maven 整合SSM框架实现简单的增删改查_第23张图片
新增用户
IDEA+Maven 整合SSM框架实现简单的增删改查_第24张图片
IDEA+Maven 整合SSM框架实现简单的增删改查_第25张图片
删除用户
IDEA+Maven 整合SSM框架实现简单的增删改查_第26张图片
IDEA+Maven 整合SSM框架实现简单的增删改查_第27张图片
更新用户
IDEA+Maven 整合SSM框架实现简单的增删改查_第28张图片
IDEA+Maven 整合SSM框架实现简单的增删改查_第29张图片
至此,利用IDEA+Maven+SSM框架实现的简单的增、删、改、查功能已经构建完毕!!!

你可能感兴趣的:(中软国际实习,idea,mysql)