基于SSM的健身房管理系统

热门小说 m.v1122.com

The project was made in 2020-05-05~2020-05-10

谨以此片博文记录下我的第一个Java小Demo
代码请见GitHub

项目展示

用户登录页

用户注册页

用户主页

用户购买健身卡(商城)

管理员登录页

管理员主页

管理员添加用户页

管理员编辑用户页

细节1:常驻工具栏(内含搜索栏)

细节2:登录账号密码实时反馈(AJAX)

**细节3:翻页功能&可选每页显示条数 **

细节4:人性化的交互设计

项目环境

  • JDK: 1.8

  • IDE: IDEA 201903

  • DataBase: MySQL 8.0

  • Mybatis: 3.5.2

  • POM: Maven

  • Tomcat 9

  • Bootstrap 3

  • JQuery 2

  • lombok 插件

  • 分页插件: PageHelper 5.1.11

  • 涉及技术 MySQL数据库,Spring,JavaWeb及MyBatis,简单的前端知识

项目详情

设计数据库

大二没有好好学系统设计与分析,画的图一塌糊涂。

包含两个实体类,用户&管理员

生成该数据库的sql文件 在该GitHub跳转GitHub /sql 目录下

生成表如图示

设计要实现的功能

应该叫做用例图吧,但我的好多符号都是错的,再次后悔没有好好学习!

制作前端页面Demo

设计该图的webProcessOn

其实这一步放在后面也合适,我为了让自己吃大饼,就先设计了一下。

环境配置

项目文件结构如图所示

基本步骤

  1. 新建Maven项目,添加web支持

  2. 导入pom依赖

    <dependencies><!--Junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!--数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><!--Servlet - JSP --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--Mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.2</version></dependency><!--Spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.9.RELEASE</version></dependency>
    </dependencies>
    
  3. Maven资源过滤

    <build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>
    </build>
    
  4. 建立基本结构框架 如上所示[点此跳转](# 环境配置)

  5. 建立基本配置

    • mybatis-config.xml

      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
      <configuration></configuration>
      
    • applicationContext.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"></beans>
      
  6. Mybatis层编写

    • 数据库配置文件 database.properties

      jdbc.driver=com.mysql.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8
      jdbc.username=root
      jdbc.password=123456IDEA关联数据库
      
    • IDEA关联数据库

    • 编写MyBatis的核心配置文件

      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
      <configuration><typeAliases><package name="com.kuang.pojo"/></typeAliases><mappers><mapper resource="com/kuang/dao/BookMapper.xml"/></mappers></configuration>
      

POJO Mapper Services的编写

POJO

  1. User

    @Data  //使用lombok插件即可省写get set
    @AllArgsConstructor
    @NoArgsConstructor
    public class User {private int id;private String username;private String password;private String name;private String sex;private String telephone;private int age;private String begintime;private String endtime;private int remainday;private int addday;public static void main(String[] args) {User u = new User();u.getTelephone();}
    }
    
  2. Admin

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Admin {private int id;private String username;private String password;private String name;private String telephone;
    }
    

Mapper

  1. 编写DAO层的Mapper接口

    1. 1 userMapper
    public interface UserMapper {//通过id查询User queryUserById(int id);
    //    查询到期时间Date queryDateById(int id);//修改账号密码int updateNP(User user);//loginUser userLogin(User user);//会员注册int userRegister(User user);
    }
    
    1. 2 adminMapper

      @Mapper
      @Component
      public interface AdminMapper{//查询会员List<User> queryUser();//新增会员int addUser(User user);//删除会员int deleteUserById(int id);//更新会员int updateUser(User user);//根据id查询一个会员User queryUserById(int id);//根据姓名查询一个会员User queryUserByName(String name);//loginAdmin adminLogin(Admin admin);//查询用户总数int selectTotal();//    分页@Select("select * from gymms.user")@Results({// 用户信息,只要指定id列与属性的映射关系,其他列会自动封装(属性与列一致)@Result(property = "id", column = "id"),// 信息@Result(property = "id", column = "id"),@Result(property = "username", column = "username"),@Result(property = "password", column = "password"),@Result(property = "name", column = "name"),@Result(property = "sex", column = "sex"),@Result(property = "telephone", column = "telephone"),@Result(property = "age", column = "age"),@Result(property = "begintime", column = "begintime"),@Result(property = "endtime", column = "endtime"),@Result(property = "remainday", column = "remainday")})List<User> findAll();
      }
      
  2. 编写接口对应的 Mapper.xml 文件

    1. 1 userMapper.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.cc.dao.UserMapper"><select id="queryDate" resultType="User">select remainday from gymms.userwhere id = #{id}</select>
    <!--    查询用户--><select id="queryUserById" resultType="User">select * from gymms.userwhere id = #{id}</select><!--更新User--><update id="updateUser" parameterType="User">update gymms.userset username = #{username},password = #{password}where id = #{id}</update><!--根据账号密码查询,返回一个User--><select id="userLogin" resultType="User">select * from gymms.userwhere username = #{username} and password = #{password}</select>
    <!--    会员注册--><!--增加一个会员--><insert id="userRegister" parameterType="User">insert into gymms.user(username,password,name,sex,telephone,age,begintime,endtime,remainday)values (#{username},#{password},#{name},#{sex},#{telephone},#{age},#{begintime},#{endtime},#{remainday})</insert>
    </mapper>
    
    1. 2 adminMapper.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.cc.dao.AdminMapper"><!--增加一个会员--><insert id="addUser" parameterType="User">insert into gymms.user(username,password,name,sex,telephone,age,begintime,endtime,remainday)values (#{username},#{password},#{name},#{sex},#{telephone},#{age},#{begintime},#{endtime},#{remainday})</insert><!--根据id删除一个User--><delete id="deleteUserById" parameterType="int">delete from gymms.user where id=#{id}</delete><!--更新User--><update id="updateUser" parameterType="User">update gymms.userset username = #{username},password = #{password},name = #{name},sex = #{sex},telephone = #{telephone},age = #{age},endtime = #{endtime},remainday = #{remainday}where id = #{id}</update><!--根据id查询,返回一个User--><select id="queryUserById" resultType="User">select * from gymms.userwhere id = #{id}</select><!--根据姓名查询,返回一个User--><select id="queryUserByName" resultType="User">select * from gymms.userwhere name = #{name}</select><!--查询全部Book--><select id="queryUser" resultType="User">SELECT * from gymms.user</select><!--根据账号密码查询,返回一个Admin--><select id="adminLogin" resultType="Admin">select * from gymms.adminwhere username = #{username} and password = #{password}</select><select id="selectTotal" resultType="int">select count(*) from gymms.user</select>
    </mapper>
    
  3. 编写Service层的接口和实现类

    1. 1 userService
    public interface UserService {//    查询到期时间Date queryDateById(int id);//修改账号密码int updateNP(User user);//loginUser userLogin(User user);//通过id查询User queryUserById(int id);//会员注册int userRegister(User user);
    }
    
    1. 2 adminService
    public interface AdminService {//查询会员List<User> queryUser();//新增会员int addUser(User user);//删除会员int deleteUserById(int id);//更新会员int updateUser(User user);//根据id查询一个会员User queryUserById(int id);//根据姓名查询一个会员User queryUserByName(String name);//loginAdmin adminLogin(Admin admin);//查询用户总数int selectTotal();//    分页List<User> findAll();/*** 分页查询* @param pageNum  当然页* @param pageSize 页大小* @return 返回PageHelper提供的封装分页参数的PageInfo对象*/PageInfo<User> findByPage(int pageNum, int pageSize);
    }
    
    1. 3 userServiceImpl
    public class UserServiceImpl implements UserService {private UserMapper userMapper;public void setUserMapper(UserMapper userMapper) {this.userMapper = userMapper;}public Date queryDateById(int id) {return userMapper.queryDateById(id);}public int updateNP(User user) {return userMapper.updateNP(user);}public User userLogin(User user) {return userMapper.userLogin(user);}public User queryUserById(int id) {return userMapper.queryUserById(id);}public int userRegister(User user) {return userMapper.userRegister(user);}
    }
    
    1. 4 adminServiceImpl
    public class AdminServiceImpl implements AdminService {private AdminMapper adminMapper;public void setAdminMapper(AdminMapper adminMapper) {this.adminMapper = adminMapper;}public List<User> queryUser() {return adminMapper.queryUser();}public int addUser(User user) {return adminMapper.addUser(user);}public int deleteUserById(int id) {return adminMapper.deleteUserById(id);}public int updateUser(User user) {return adminMapper.updateUser(user);}public User queryUserById(int id) { return adminMapper.queryUserById(id); }public User queryUserByName(String name) { return adminMapper.queryUserByName(name); }public Admin adminLogin(Admin admin) {return adminMapper.adminLogin(admin);}public int selectTotal() {return adminMapper.selectTotal();}public List<User> findAll() {return adminMapper.findAll();}public PageInfo<User> findByPage(int pageNum, int pageSize) {PageHelper.startPage(pageNum, pageSize);List<User> list = adminMapper.findAll();PageInfo<User> pageInfo = new PageInfo<>(list);return pageInfo;}
    }
    

Spring层

  • 配置Spring整合MyBatis,我们这里数据源使用c3p0连接池;

  • 编写Spring整合Mybatis的相关的配置文件;

    spring-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置整合mybatis --><!-- 1.关联数据库文件 --><context:property-placeholder location="classpath:database.properties"/><!-- 2.数据库连接池 --><!--数据库连接池dbcp 半自动化操作 不能自动连接c3p0 自动化操作(自动的加载配置文件 并且设置到对象里面)--><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><!-- 配置连接池属性 --><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><!-- c3p0连接池的私有属性 --><property name="maxPoolSize" value="30"/><property name="minPoolSize" value="10"/><!-- 关闭连接后不自动commit --><property name="autoCommitOnClose" value="false"/><!-- 获取连接超时时间 --><property name="checkoutTimeout" value="10000"/><!-- 当获取连接失败重试次数 --><property name="acquireRetryAttempts" value="2"/></bean><!-- 3.配置SqlSessionFactory对象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource"/><!-- 配置MyBaties全局配置文件:mybatis-config.xml --><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!-- 4.配置扫描Dao接口包,动态实现Dao接口注入到spring容器中 --><!--解释 :https://www.cnblogs.com/jpfss/p/7799806.html--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 给出需要扫描Dao接口包 --><property name="basePackage" value="com.cc.dao"/></bean>
</beans>
  • Spring整合service层
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 扫描service相关的bean --><context:component-scan base-package="com.cc.service" /><!--AdminServiceImpl注入到IOC容器中--><bean id="AdminServiceImpl" class="com.cc.service.AdminServiceImpl"><property name="adminMapper" ref="adminMapper"/></bean><!--UserServiceImpl注入到IOC容器中--><bean id="UserServiceImpl" class="com.cc.service.UserServiceImpl"><property name="userMapper" ref="userMapper"/></bean><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource" /></bean>
</beans>

SpringMVC层

  • web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--DispatcherServlet--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!--一定要注意:我们这里加载的是总的配置文件,之前被这里坑了!--><param-value>classpath:applicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--encodingFilter--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--Session过期时间--><session-config><session-timeout>15</session-timeout></session-config>
</web-app>
  • spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 配置SpringMVC --><!-- 1.开启SpringMVC注解驱动 --><mvc:annotation-driven></mvc:annotation-driven><!-- 2.静态资源默认servlet配置--><mvc:default-servlet-handler/><!-- 3.配置jsp 显示ViewResolver视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean><!-- 日期转换 --><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"><property name="webBindingInitializer"><bean class="com.cc.utils.convertDate"/></property></bean><!-- 4.扫描web相关的bean --><context:component-scan base-package="com.cc.controller" /></beans>
  • Spring配置整合文件,applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--3. 创建SqlSessionFactoryBean,注入连接池--><bean class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"></property></bean><import resource="classpath:spring/spring-dao.xml"/><import resource="classpath:spring/spring-service.xml"/><import resource="classpath:spring/spring-mvc.xml"/></beans>

Controller&视图层

  • UserController
package com.cc.controller;import com.cc.pojo.User;
import com.cc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;@Controller
@RequestMapping("/user")
public class UserController {@Autowired@Qualifier("UserServiceImpl")private UserService userService;@RequestMapping("/toLogin")public String toLoginUser(Model model,HttpServletRequest request) {try {String username = request.getParameter("username");String password = request.getParameter("password");System.out.println(username+"  "+password);User user =new User();user.setUsername(username);user.setPassword(password);User users = userService.userLogin(user);if (users.getId() > 0) {
//            model.addAttribute("user", users);model.addAttribute("user", users);return "userMain";}} catch (Exception e) {model.addAttribute("error","Wrong username or password!");return "redirect:/";}return "redirect:/";}@ResponseBody@RequestMapping("/toLogintest")public String userLogin(String name,String pwd) {String msg = "Wrong username or password!";//模拟数据库中存在数据if ((name != null) && (pwd != null)) {//        从数据库检索是否存在该用户User user = new User();user.setUsername(name);user.setPassword(pwd);try {User users = userService.userLogin(user);if (users.getUsername().equals(name) && users.getPassword().equals(pwd)) {msg = "Login Success";}return msg;}catch (Exception e){}return msg; //g}return msg;}@RequestMapping("/userBuy")public String userBuyCard(Model model,int id) throws ParseException {User user = userService.queryUserById(id);System.out.println(user);model.addAttribute("user",user );return "userMall";}@RequestMapping("/userMianPage")public String userMianPage(Model model,int id) throws ParseException {User user = userService.queryUserById(id);System.out.println(user);model.addAttribute("user",user );return "userMain";}
//    跳转注册页面@RequestMapping("/toUserRegister")public String toAddPaper() {return "register";}//注册@RequestMapping("/userRegister")public String registerUser(User user) throws ParseException {SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String date = sp.format(new Date());user.setBegintime(date);user.setEndtime(date);user.setRemainday(0);userService.userRegister(user);return "redirect:/user/toLogin";}
}
  • AdminController
package com.cc.controller;import com.cc.pojo.Admin;
import com.cc.pojo.User;
import com.cc.service.AdminService;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;@Controller
@RequestMapping("/admin")
public class AdminController {@Autowired@Qualifier("AdminServiceImpl")private AdminService adminService;@RequestMapping("/toAddUser")public String toAddPaper() {return "register";}@RequestMapping("/addUser")public String addPaper(User user) throws ParseException {System.out.println(user);SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 日期格式Date date = dateFormat.parse(user.getBegintime()); // 指定日期Calendar cl = Calendar.getInstance();cl.setTime(date);cl.add(Calendar.DATE, user.getRemainday());String temp = "";temp = dateFormat.format(cl.getTime());user.setEndtime(temp);adminService.addUser(user);return "redirect:/admin/findByPage";}@RequestMapping("/toUpdateUser")public String toUpdateUser(Model model, int id) {User user = adminService.queryUserById(id);System.out.println(user);model.addAttribute("user",user );return "updateUser";}@RequestMapping("/updateUser")public String updateUser(Model model, User user) throws ParseException {SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 日期格式Date date = dateFormat.parse(user.getBegintime()); // 指定日期Calendar cl = Calendar.getInstance();cl.setTime(date);int allday = user.getRemainday()+user.getAddday();cl.add(Calendar.DATE, allday);String temp = "";temp = dateFormat.format(cl.getTime());user.setEndtime(temp);user.setRemainday(allday);adminService.updateUser(user);User users = adminService.queryUserById(user.getId());model.addAttribute("user", users);return "redirect:/admin/findByPage";}@RequestMapping("/del/{userId}")public String deleteBook(@PathVariable("userId") int id) {adminService.deleteUserById(id);return "redirect:/admin/findByPage";}@RequestMapping("/toaLogin")public String toaLogin() {return "/aLogin";}@RequestMapping("/aLogin")public String toLoginUser(Admin admin) {System.out.println(admin.getUsername()+admin.getPassword());try {Admin admins = adminService.adminLogin(admin);if (admins.getId() > 0) {
//            model.addAttribute("user", users);return "redirect:/admin/findByPage";}}catch (Exception e){return "/aLogin";}return "/aLogin";}
@RequestMapping("/findAll")
public ModelAndView findAll() {//1.1 调用serviceList<User> list = adminService.findAll();//1.2 返回结果ModelAndView mv = new ModelAndView();mv.setViewName("order-list");mv.addObject("list", list);return mv;
}@RequestMapping("/findByPage")public String findByPage(Model model,@RequestParam(defaultValue = "1") int pageNum,@RequestParam(defaultValue = "11") int pageSize) {PageInfo<User> pageInfo = adminService.findByPage(pageNum, pageSize);
//        PageInfo pageInfo = adminService.findByPage(pageNum, pageSize);//1.1 调用service//1.2 返回结果model.addAttribute("list", pageInfo.getList());model.addAttribute("pageInfo", pageInfo);return "allUserPage";}@RequestMapping("/searchUser")public String searchUser(Model model, String name) {try {User user = adminService.queryUserByName(name);System.out.println(user);model.addAttribute("user", user);if (user.getName() == null) {return "redirect:/admin/findByPage";}return "updateUser";}catch (Exception e){return "redirect:/admin/findByPage";}}
//    商城
@RequestMapping("/buy")
public String buyCard() throws ParseException {return "mall";
}}
视图层

详情见GitHub

拓展与展望

以下功能在以后可拓展开发

结束与总结

这个小Demo做了五六天,分页那里卡了接近两天,无数的坑等着踩。

期间也体会到了编程的乐趣,每天晚上都肝的快快乐乐。

所有代码放在GitHub供大家交流学习。

今天母亲节呀,祝我妈妈母亲节快乐! 晚安!

基于SSM的健身房管理系统相关推荐

  1. 毕业设计——>基于SSM的健身房管理系统

    有价值的Java项目参考资料,实现网站的开发(不是广告) 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善 开发环境: Eclips ...

  2. 计算机毕业设计-基于ssm的健身房管理系统-基于javaweb的健身房系统代码

    计算机毕业设计-基于ssm的健身房管理系统-基于javaweb的健身房系统代码 注意:该项目只展示部分功能,如需了解,联系咨询即可. 作者:IT跃迁谷 1.开发环境 开发语言:Java 后台:SSM( ...

  3. 毕业设计——基于SSM的健身房管理系统

    该系统已经上传CSDN官方资源,下载地址: https://download.csdn.net/download/qq_16397653/14027661 1.包含源程序,数据库脚本.代码和数据库脚本 ...

  4. 【JAVA程序设计】基于SSM的健身房管理系统-有论文

    基于SSM的健身房管理系统 项目获取 项目简介 开发环境 项目技术 功能结构 演示视频 运行截图 项目获取 获取方式(点击下载):是云猿实战 项目经过多人测试运行,可以确保100%成功运行. 项目简介 ...

  5. 【JAVA程序设计】(C00014)基于ssm的健身房管理系统

    基于ssm的健身房管理系统 项目获取 文章结构 一.开发框架及业务方向 1.开发环境 2.开发框架 3.整体业务 二.项目结构及页面展示 项目获取 前往获取源码:码农源码 文章结构 一.开发框架及业务 ...

  6. 毕业设计——>基于SSM的健身房管理系统(带数据库,本管理系统下载链接地址)

    本项目资源获取地址 https://download.csdn.net/download/qq_16397653/14027661 请关注订阅,本专栏会详细讲解JAVA+SSM框架的毕业设计,实现网站 ...

  7. 基于SSM+Vue健身房管理系统Java健身器材管理系统 健身预约系统(源码调试+讲解+文档)

  8. java基于ssm的健身房会员管理系统

    设计基于ssm的健身房会员管理系统的主要目的是为了方便健身房对会员.课程安排.通知等的实际情况进行集中的查询与管理工作,以提高整个健身房的工作效率.主要由会员管理系统和管理员管理系统组成.其中会员管理 ...

  9. (附源码)计算机毕业设计SSM基于Java的健身房管理系统

    (附源码)计算机毕业设计SSM基于Java的健身房管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...

最新文章

  1. Load 和 DOMContentLoaded 区别
  2. 链表是否带环、环入口、环长度、链表相交问题分析与总结
  3. 2021暑假实习-SSM超市积分管理系统-day02笔记
  4. pixhawk自学笔记之px4程序启动顺序
  5. java md5.computehash_c# – ObjectDisposedException使用MD5 ComputeHash时
  6. POJ2083-Fractal
  7. uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码...
  8. 云计算开发一般负责什么工作呢?云计算是做什么的?
  9. SQL简体繁体转换函数代码
  10. STM32_HAL_SPI_ADS1256调试记录
  11. java 解析word模板为xml, 动态填充数据到xml,最后输出word文档
  12. 如何安装配置JDK(保姆级完美解决教程+附百度网盘链接)
  13. ios 扇形 按钮_iOS开发教程之扇形动画的实现
  14. 如何查询idea当前项目所有打断点的位置
  15. Hat trick [又名帽子戏法]
  16. android文件管理器u盘,Android U盘文件显示在文件管理器
  17. ftp命令行下载/上传文件
  18. 伪元素进度条_使用HTML5进度元素
  19. OpenCV Tutorial: 縮寫(uchar、ushort、Vec)
  20. comps电磁场模拟软件_现在主流的电机仿真分析软件是哪个,电机厂商都用哪些软件?...

热门文章

  1. js 从一个数组中随机抽取元素
  2. ML:基于葡萄牙银行机构营销活动数据集(年龄/职业等)利用Pipeline框架(两种类型特征并行处理)+多种模型预测(分层抽样+调参交叉验证评估+网格/随机搜索+推理)客户是否购买该银行的产品二分类案
  3. java long转object_Java 类型转换以及Object转成其他类型
  4. 女性面部除皱要多少钱呢
  5. Oracle_多表查询
  6. [探地雷达]利用Faster RCNN对B-SCAN探地雷达数据进行目标检测
  7. Python算法实战视频课程--图-刘硕-专题视频课程
  8. C/C++编程:继承构造函数
  9. 缺省(默认)VLAN
  10. mac上用Automator编写自动脚本