中軟實習之基於SSM的增刪改查

摘要

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內容)。常作爲數據源較簡單的web項目的框架。本文利用SSM框架,完成了增刪改查操作。

效果展示圖

話不多說,先放上網頁成品展示。
成品展示

目錄結構

主目錄下的文件夾

main目錄下 解釋
java java源代碼
resource 資源文件夾
webapp 前端網頁,包含jsp、js文件

java目錄下的文件夾

java目錄下 解釋
bean 實體層
dao 持久層
sevice 服務層
controller 控制器

resource目錄

resource目錄下 解釋
mapper 映射文件

SSM配置準備

1.本文在IDEA編譯器下進行的項目部署,具體操作可參考本人上一篇博文
通過JDBC對mysql數據庫進行增刪改查
2.在pom.xml中添加依賴項,將以下依賴項複製進入pom.xml中.

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <!-- spring版本號 -->
    <spring.version>5.0.2.RELEASE</spring.version>
    <!-- mybatis版本號 -->
    <mybatis.version>3.2.6</mybatis.version>
    <!-- log4j日誌文件管理包版本 -->
    <slf4j.version>1.7.7</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <c3p0.version>0.9.5.2</c3p0.version>
    <taglibs.version>1.1.2</taglibs.version>
  </properties>

  <dependencies>
    <!-- spring核心包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- mybatis核心包 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>
    <!-- mybatis/spring包 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.2</version>
    </dependency>
    <!-- 導入java ee jar 包 -->
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
    </dependency>

    <!-- 導入Mysql數據庫鏈接jar包 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.30</version>
    </dependency>
    <!-- 導入dbcp的jar包,用來在applicationContext.xml中配置數據庫 -->
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.2.2</version>
    </dependency>
    <!-- JSTL標籤類 -->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <!-- 日誌文件管理包 -->
    <!-- log start -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>


    <!-- 數據連接池 -->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>${c3p0.version}</version>
    </dependency>

    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>${taglibs.version}</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <!-- 導入servlet-api/jsp -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.1</version>
      <scope>provided</scope>
    </dependency>

  </dependencies>

源碼實現

全部源碼下載
Userinfo.java

//Userinfo.java
package com.zhongruan.bean;

public class UserInfo {
    private int id;
    private String username;
    private String password;
    public UserInfo(int id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public UserInfo() {
    }

    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 + '\'' +
                '}';
    }
}

UserInfoController.java

//UserInfoController.java
package com.zhongruan.controller;

import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.IUserInfoService;
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 UserInfoController {

    @Autowired
    IUserInfoService userInfoService;

    @RequestMapping("findAll.do")
    public ModelAndView findAll(){
        List<UserInfo> users = userInfoService.findAll();
        ModelAndView mv =new ModelAndView();
        mv.addObject("userInfo",users);
        mv.setViewName("allUser");
        return mv;
    }

    @RequestMapping("toAddUser.do")
    public ModelAndView toAddUser(){
        ModelAndView mv =new ModelAndView();
        mv.setViewName("addUser");
        return mv;
    }

    @RequestMapping("save.do")
    public ModelAndView save(int id,String username,String password){
        userInfoService.save(new UserInfo(id,username,password));
        return findAll();
    }

    @RequestMapping("toUpdate.do")
    public ModelAndView toUpdate(int id){
        ModelAndView mv =new ModelAndView();
        mv.addObject("userInfo",new UserInfo(id,null,null));
        mv.setViewName("updateUser");
        return mv;
    }
    @RequestMapping("toUserList.do")
    public ModelAndView toUserList(){
        ModelAndView mv =new ModelAndView();
        mv.setViewName("user-list");
        return mv;
    }
    @RequestMapping("update.do")
    public ModelAndView update(int id,String username,String password){
        userInfoService.updateUser(new UserInfo(id,username,password));
        return findAll();
    }
    @RequestMapping("delete.do")
    public ModelAndView deleteUser(int id){
        userInfoService.deleteUser(new UserInfo(id,null,null));
        return findAll();
    }

}

IUserInfoDao.java

//IUserInfoDao.java
package com.zhongruan.dao;

import com.zhongruan.bean.UserInfo;

import java.util.List;


public interface IUserInfoDao {
    public List<UserInfo> findAll();
    public void updateUser(UserInfo userInfo);

    public void save(UserInfo userInfo);

    public void deleteUser(UserInfo userInfo);
}

IUserInfoService.java

//IUserInfoService.java
package com.zhongruan.service;

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserInfoService {
    public List<UserInfo> findAll();

    public void updateUser(UserInfo userInfo);
    public List<UserInfo> userList();
    public void save(UserInfo userInfo);
    public void deleteUser(UserInfo userInfo);
}

UserInfoServiceImpl.java

//UserInfoServiceImpl.java
package com.zhongruan.service.impl;

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

import java.util.List;
@Service("userInfoService")
public class UserInfoServiceImpl implements IUserInfoService {
    @Autowired
    IUserInfoDao userInfoDao;

    @Override
    public List<UserInfo> findAll() {
        return userInfoDao.findAll();
    }

    @Override
    public void save(UserInfo userInfo) {
        userInfoDao.save(userInfo);
    }

    @Override
    public void deleteUser(UserInfo userInfo) {
        userInfoDao.deleteUser(userInfo);
    }

    @Override
    public void updateUser(UserInfo userInfo) {
        userInfoDao.updateUser(userInfo);
    }

    @Override
    public List<UserInfo> userList() {
        return userInfoDao.findAll();
    }
}

UserInfoMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zhongruan.dao.IUserInfoDao" >
    <select id="findAll" resultType="com.zhongruan.bean.UserInfo">
        select * from userinfo

    </select>
    <insert id="save" parameterType="com.zhongruan.bean.UserInfo">
        insert into userinfo(username,password) values (#{username},#{password})
    </insert>
    <delete id="deleteUser" parameterType="com.zhongruan.bean.UserInfo">
        delete from userinfo where id=#{id}
    </delete>
    <update id ="updateUser" parameterType="com.zhongruan.bean.UserInfo">
        update userinfo set username=#{username},password =#{password} where id =#{id}
    </update>

</mapper>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章