增删改查的SSM小项目
经过将近一个月的摸索,终于算是勉强完成了关于增删改查的SSM项目。
github源码地址:https://github.com/123456abcdefg/Login
好了,话不多说,写一下具体代码。


实现代码:
1.controller:
登录:
package com.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.entity.user;
import com.service.userService; @Controller
@RequestMapping("/admin") public class userController {
// 注入UserService
@Autowired
private userService userService; @RequestMapping("/index")
public String index(){
return "index";
} // 登录
@RequestMapping("/login")
public String login(HttpServletRequest request,String username,String password){
user user =userService.getUser(username,password);
ModelAndView modelandview = new ModelAndView();
modelandview.addObject(user);
if(user.getIdent().equals("1"))
return "redirect:/admin/user/userlist.action";
else
return "redirect:/admin/index.action";
} @RequestMapping("/error")
public String error(){
return "error";
}
}
package com.controller;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.entity.user;
import com.service.userService; @Controller
@RequestMapping("/admin/user") public class userlistController {
// 注入UserService
@Autowired
private userService userService; @RequestMapping("/userlist")
public ModelAndView userlist(HttpServletRequest request,Integer search){
user user = new user();
user.setId(search);
List<user> userlist = userService.findUserList(user);
ModelAndView modelandview = new ModelAndView();
modelandview.addObject("userlist",userlist);
modelandview.setViewName("login");
return modelandview;
} //新增页面
@RequestMapping("/add")
public String add(HttpServletRequest request){
return "add_do";
} //增加用户
@RequestMapping("/add_do")
public String add_do(HttpServletRequest request,
String username,String password,String ident){
user user = new user();
user.setUsername(username);
user.setPassword(password);
user.setIdent(ident);
userService.addUser(user);
return "forward:userlist.action";
} //删除用户
@RequestMapping("/delete_do")
public String delete_do(HttpServletRequest request,Integer id){
userService.deleteUser(id);
return "forward:userlist.action";
} //修改页面
@RequestMapping("/update")
public ModelAndView update(Integer id){
ModelAndView modelandview = new ModelAndView();
user user=userService.getUserById(id);
modelandview.addObject(user);
modelandview.setViewName("add_do");
return modelandview;
} //修改用户信息
@RequestMapping("/update_do")
public String update_do(HttpServletRequest request,Integer id,String username,String password,String ident){
user user = new user();
user.setId(id);
user.setUsername(username);
user.setPassword(password);
user.setIdent(ident);
userService.updateUser(user);
return "forward:userlist.action";
}
}
2.user:
package com.entity;
import java.util.List; public class user {
private Integer id;
private String username;
private String password;
private String ident; public String getIdent() {
return ident;
}
public void setIdent(String ident) {
this.ident = ident;
}
public Integer getId() {
return id;
}
public void setId(Integer 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;
}
}
3.mapper:
package com.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.entity.user; public interface userMapper {
public user getUser(String username,String password);
public List<user> findUserList(user user);
public void addUser(user user);
public void deleteUser(Integer id);
public user getUserById(Integer id);
public void updateUser(user user);
}
mapper.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.mapper.userMapper">
<resultMap type="com.entity.user" id="userMapper">
<id column="id" property="id" jdbcType="INTEGER" />
<result column="username" property="username" jdbcType="VARCHAR"/>
<result column="password" property="password" jdbcType="VARCHAR"/>
<result column="ident" property="ident" jdbcType="VARCHAR"/>
</resultMap> <select id="getUser" parameterType="com.entity.user" resultType="com.entity.user">
select *
from user
where username=#{0} and password=#{1}
</select> <select id="findUserList" parameterType="com.entity.user" resultType="com.entity.user">
select *
from user
where 1=1 and id like '%${id}%'
</select> <insert id="addUser" parameterType="com.entity.user">
insert into user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="username != null">
username,
</if>
<if test="password != null">
password,
</if>
<if test="ident != null">
ident,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="username != null">
#{username,jdbcType=VARCHAR},
</if>
<if test="password != null">
#{password,jdbcType=VARCHAR},
</if>
<if test="ident != null">
#{ident,jdbcType=VARCHAR},
</if>
</trim>
</insert> <delete id="deleteUser" parameterType="com.entity.user">
delete
from user
where id=#{id,jdbcType=INTEGER}
</delete> <select id="getUserById" parameterType="com.entity.user" resultType="com.entity.user">
select *
from user
where id=#{id}
</select> <update id="updateUser" parameterType="com.entity.user">
update user
<set>
<if test="username != null">
username = #{username,jdbcType=VARCHAR},
</if>
<if test="password != null">
password = #{password,jdbcType=VARCHAR},
</if>
<if test="ident != null">
ident = #{ident,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update> </mapper>
4.service:
userService:
package com.service;
import java.util.List;
import com.entity.user; public interface userService {
public user getUser(String username,String password);
public List<user> findUserList(user user);
public void addUser(user user);
public void deleteUser(Integer id);
public user getUserById(Integer id);
public void updateUser(user user);
}
userServiceimp:
package com.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.entity.user;
import com.mapper.userMapper; public class userServiceimp implements userService{
// 注入User
@Autowired
private userMapper usermapper; @Override
public user getUser(String username,String password){
return usermapper.getUser(username,password);
} @Override
public List<user> findUserList(user user){
return usermapper.findUserList(user);
} @Override
public void addUser(user user){
usermapper.addUser(user);
} @Override
public void deleteUser(Integer id){
usermapper.deleteUser(id);
} @Override
public user getUserById(Integer id){
return usermapper.getUserById(id);
} @Override
public void updateUser(user user){
usermapper.updateUser(user);
}
}
剩下的配置文件我就不粘了,大家可以去我github上下载源码查看。
登陆页面:
登陆成功页面: 
新增 页面:

大致就是这样了,实现了基本的增删改查操作,以后要是写出好的项目也会同样放在github上,欢迎大家下载讨论。
项目就先告一段落了,接下来的任务就是把SSM从头到尾看一遍,彻底搞懂SSM框架具体怎么实现。
增删改查的SSM小项目的更多相关文章
- SpringBoot-Vue实现增删改查及分页小DEMO
前言 主要通过后端 Spring Boot 技术和前端 Vue 技术来简单开发一个demo,实现增删改查.分页功能以及了解Springboot搭配vue完成前后端分离项目的开发流程. 开发栈 前端 开 ...
- mybatis的增删改查返回值小析(六)
本文验证了通过mybatis访问数据库时的,增删改查的返回值情况. 直接看代码. 1.service层 /** *@Author: Administrator on 2020/3/12 15:15 * ...
- 无框架JavaWeb简单增删改查,纯 jsp小练习
地址 : 纯本人手码 jsp练习>>>>>
- ssm框架(Spring Springmvc Mybatis框架)整合及案例增删改查
三大框架介绍 ssm框架是由Spring springmvc和Mybatis共同组成的框架.Spring和Springmvc都是spring公司开发的,因此他们之间不需要整合.也可以说是无缝整合.my ...
- nodejs+express+mysql实现restful风格的增删改查示例
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
- springboot+layui实现PC端用户的增删改查 & 整合mui实现app端的自动登录和用户的上拉加载 & HBuilder打包app并在手机端下载安装
springboot整合web开发的各个组件在前面已经有详细的介绍,下面是用springboot整合layui实现了基本的增删改查. 同时在学习mui开发app,也就用mui实现了一个简单的自动登录和 ...
- 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
随机推荐
- 简单聊聊Linux学习经历
学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内容千差万别,有的人是为了提升自己各方面的能力 ...
- Neutron 网络基本概念
Neutron 网络基本概念 上次我们讨论了 Neutron 提供的功能,今天我们学习 Neutron 模块几个重要的概念. Neutron 管理的网络资源包括 Network,subnet 和 po ...
- Civil 3D CustomDraw .NET混合项目设置
样例文件中的CustomDraw项目使用的是COM API,但COM API不完整,某些时候需要使用.NET API,此时需要将C++项目设置成"公共语言运行时支持(/clr)"但 ...
- python 模块之-ffmpeg 中文参数对照表
a) 通用选项 -L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t durat ...
- luogu P1077 摆花
这道题看似好难,但是其实很简单 先把题目中所让你设的变量都设好,该输入的都输入 你会发现这道题好像成功了一半,为什么呢??? 因为设完后你会发现你不需要再添加任何变量,已经足够了. 可能最难的地方,就 ...
- BZOJ1823[JSOI2010]满汉全席——2-SAT+tarjan缩点
题目描述 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而能够烹饪出经过 ...
- 微信小程序——安装开发工具和环境【二】
准备 开发工具下载 获取APPID 安装工具 安装 接受协议 选择安装位置 等待安装完成 安装完成 选择项目 选择小程序 填写信息 确定 无误后,点击确定进入开发页面 建立普通快速启动模板界面
- 大学jsp实验4include,forword
一.实验目的与要求 1.掌握常用JSP动作标记的使用. 二.实验内容 1.include动作标记的使用 编写一个名为shiyan4_1.jsp的JSP页面,页面内容自定,但要求使用include动作标 ...
- 【XSY2668】排列统计 DP
题目描述 给你一个长度为\(n\)的排列\(a\),每次要选择两个数,交换这两个数(这两个数可以相同).总共要交换\(k\)次. 最后要统计数列中有多少位置\(i\)满足\(\max_{j\leq i ...
- 「CodeForces - 717E」Paint it really, really dark gray (dfs)
BUPT 2017 summer training (for 16) #1H 题意 每个节点是黑色or白色,经过一个节点就会改变它的颜色,一开始在1节点.求一条路径使得所有点变成黑色. 题解 dfs时 ...