用户管理系统模板搭建SSM,完成查询和更新
用户管理系统模板搭建SSM,完成查询和更新
一 、数据库创建
创建数据库java7,并在数据库下创建表tb_user
二、SSM框架搭建
目录结构如图所示
1.导包
- pom.xml文件
配置好pom.xml文件
2.创建目录结构 – MVC
2.1在main下创建java文件夹
在main下创建文件夹java专门用来存放java代码
在java文件夹下创建包com.zhongruan
在包com.zhongruan下创建包bean、dao、service、controller
在包bean下创建类UserInfo,
为实体类:去映射数据库字段
package com.zhongruan.bean;
/**
* UserInfo - 实体类: 去映射数据库的字段
*/
public class UserInfo {
// 1.属性的封装
private int id;
private String username;
private String password;
// get and set 访问器
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;
}
// 构造方法
public UserInfo(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public UserInfo() {
}
// toString 方法重写
@Override
public String toString() {
return "UserInfo{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
在包dao下创建类UserDao
为数据库交互层
package com.zhongruan.dao;
import com.zhongruan.bean.UserInfo;
import java.util.List;
/**
* UserDao - 数据库交互层
*/
public interface UserDao {
// 全部查询
List<UserInfo> findAll();
// 更新前的查询
UserInfo findUserById(int id);
// 更新
void updUserById(UserInfo userInfo);
}
配置Spring框架,在main下新建文件夹resource
配置三个文件
在文件夹resource新建包mapper,这是一个对于user的mapper
在包mapper下新建文件UserMapper.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.UserDao" >
<!-- 全部查询 -->
<select id="findAll" resultType="com.zhongruan.bean.UserInfo">
select * from tb_user
</select>
<!-- 更新前的查询 -->
<select id="findUserById" parameterType="java.lang.Integer" resultType="com.zhongruan.bean.UserInfo">
select * from tb_user where id=#{id}
</select>
<!-- 更新 -->
<update id="updUserById" parameterType="com.zhongruan.bean.UserInfo">
update tb_user set username=#{username},password=#{password} where id=#{id}
</update>
</mapper>
在包service 下创建接口UserInfoService
package com.zhongruan.service;
import com.zhongruan.bean.UserInfo;
import java.util.List;
public interface UserInfoService {
// 全部查询
List<UserInfo> findAll();
// 更新前的查询
UserInfo findUserById(int id);
// 更新
void updUserById(UserInfo userInfo);
}
再写service实现类
在包service创建包impl用来放实现类
在包impl下新建类UserInfoServiceImpl
package com.zhongruan.service.impl;
import com.zhongruan.bean.UserInfo;
import com.zhongruan.dao.UserDao;
import com.zhongruan.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserInfoServiceImpl implements UserInfoService {
@Autowired
private UserDao userDao;
@Override
public List<UserInfo> findAll() {
return userDao.findAll();
}
@Override
public UserInfo findUserById(int id) {
return userDao.findUserById(id);
}
@Override
public void updUserById(UserInfo userInfo) {
userDao.updUserById(userInfo);
}
}
配置 springMVC 和 web.xml
springMVC文件,拷贝web.xml文件
引入jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<body>
<%--<jsp:forward page="/pages/main.jsp"></jsp:forward>--%>
<a href="${pageContext.request.contextPath}/user/finAll.do">查询全部</a>
</body>
</html>
编写controller
package com.zhongruan.controller;
import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.UserInfoService;
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
private UserInfoService userInfoService;
@RequestMapping("/finAll.do")
public ModelAndView findAll(){
List<UserInfo> userInfoList = userInfoService.findAll();
ModelAndView mv = new ModelAndView();
mv.addObject("userInfoList",userInfoList);
mv.setViewName("user-list");
return mv;
}
// 修改前的查询操作
// 怎么直接大写的英文字母 : Shift + 英文字母
@RequestMapping("/findUserById.do")
public ModelAndView findUserById(int id){
UserInfo userInfo = userInfoService.findUserById(id);
System.out.println("得到的Id值为:"+ id);
ModelAndView mv = new ModelAndView();
mv.addObject("userInfo",userInfo);
mv.setViewName("user-update");
return mv;
}
// 更新
@RequestMapping("/updUserById.do")
public String updUserById(UserInfo userInfo){
userInfoService.updUserById(userInfo);
return "redirect:finAll.do";
}
}
运行结果:
点击查询全部按钮,可看到全部用户
点击每条信息后的更新进行信息修改