经过将近一个月的摸索,终于算是勉强完成了关于增删改查的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"; } }
userlistController:
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框架具体怎么实现。