具体要求如下:

进入应用首页,默认显示所有网点信息。列表使用隔行变色样式

点击“修改”超链接,按网点id查询指定网点信息,并展示在修改页面。“所在城区”展示为下拉列表形式,列表中包括所有城区,待修改网点所属的城区必须被选中。

点击“取消”按钮放弃修改。并返回查询页面是示所有网点信息;点击“修改”按钮执行修改功能。数据提交至.servlet.前必须验证

目录

、具体要求如下:

数据库表设计

基本结构

封装类:

架包

Mapper

service

controller

查询

主页面

显示页面

修改页面

添加页面



数据库表设计

基本结构

封装类:

Branches.java

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Branches {/*** 网点ID*/private Integer id;/*** 网点名称*/private String name;/***城区ID*/private Cityarea cityAreald;/***地址*/private String address;/***联系电话*/private String telephone;}

Cityarea.java

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Cityarea {/*** 城区ID*/private Integer id;/*** 城区名称*/private String name;
}

架包

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- Druid 数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency><!--单元测试--><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><!--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><!-- 用来整合Mybatis和Spring --><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><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version></dependency></dependencies><!-- 解决资源过滤问题 --><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>

web.xml:

配置spring监听器,前端控制器。

<?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_3_1.xsd"version="3.1"><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置Servlet的初始化参数,读取springmvc的配置文件,创建spring容器 --><!--  init-param 的param-name 就是参数名  param-value就是参数值 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/applicationContext.xml</param-value></init-param><!-- 配置servlet启动时加载对象 --><!-- 值为负数或者没有设置,则容器会当Servlet被请求时再加载 --><!-- 值为正整数或者0时,表示容器在应用启动时就加载并初始化这个servlet,值越小servlet的优先级越高,就越先被加载。--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 设置POST请求编码为UTF-8 --><filter><filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name><url-pattern>*.do</url-pattern><url-pattern>/*</url-pattern></filter-mapping>
</web-app>

druid.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/exam0521?serverTimezone=GMT
jdbc.username=root
jdbc.password=root
initialSize=5
maxActive=10
maxWait=3000

spring-mapper-0728.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"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"><context:property-placeholder location="classpath:druid.properties"/><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><property name="initialSize" value="${initialSize}"/><property name="maxWait" value="${maxWait}"/><property name="maxActive" value="${maxActive}"/></bean><bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath:branchesMapper.xml"/></bean><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" id="configurer"><property name="basePackage" value="com.zhibang.mapper"/><property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"/></bean>
</beans>

spring-service-0728.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>

spring-controller-0728.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><mvc:annotation-driven/><mvc:default-servlet-handler/><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"><property name="prefix" value="/branches/"/><property name="suffix" value=".jsp"/></bean>
</beans>

applicationContext.xml:

把spring-mapper-0728.xml,spring-service-0728.xml,spring-controller-0728.xml连接起来

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"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"><context:component-scan base-package="com.zhibang"/><import resource="spring-mapper-0728.xml"/><import resource="spring-service-0728.xml"/><import resource="spring-controller-0728.xml"/>
</beans>

Mapper

BranchesMapper.java

package com.zhibang.mapper;import com.zhibang.entity.Branches;
import com.zhibang.entity.Cityarea;import java.util.List;public interface BranchesMapper {/*** 查询所有网点信息* @return*/List<Branches> selectBranchesAll();/*** 查询所有城区* @return*/List<Cityarea> selectCityareaAll();/*** 根据城区ID查询城区信息* @param id 城区ID* @return*/Branches selectBranchesByID(Integer id);/*** 修改网点信息* @param branches 网点信息* @return*/int updateBranches(Branches branches);/*** 添加* @param branches* @return*/int addBranches(Branches branches);/*** 删除* @param id* @return*/int delBranches(Integer id);
}

service

BranchesService.java

package com.zhibang.service;import com.zhibang.entity.Branches;
import com.zhibang.entity.Cityarea;import java.util.List;public interface BranchesService {/*** 查询所有网点信息* @return*/List<Branches> selectBranchesAll();/*** 根据城区ID查询城区信息* @param id 城区ID* @return*/Branches selectBranchesByID(Integer id);/*** 判断网点信息是否修改* @param branches 网点信息* @return*/boolean updateBranches(Branches branches);/*** 查询所有城区* @return*/List<Cityarea> selectCityareaAll();/*** 添加* @param branches* @return*/boolean addBranches(Branches branches);/*** 删除* @param id* @return*/boolean delBranches(Integer id);
}

BranchesServiceImpl.java

package com.zhibang.service.impl;import com.zhibang.entity.Branches;
import com.zhibang.entity.Cityarea;
import com.zhibang.mapper.BranchesMapper;
import com.zhibang.service.BranchesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import java.util.List;@Service
@Transactional
public class BranchesServiceImpl implements BranchesService {@Autowiredprivate BranchesMapper branchesMapper;@Overridepublic List<Branches> selectBranchesAll() {return branchesMapper.selectBranchesAll();}@Overridepublic Branches selectBranchesByID(Integer id) {return branchesMapper.selectBranchesByID(id);}@Overridepublic boolean updateBranches(Branches branches) {return branchesMapper.updateBranches(branches) > 0 ? true : false;}@Overridepublic List<Cityarea> selectCityareaAll() {return branchesMapper.selectCityareaAll();}@Overridepublic boolean addBranches(Branches branches) {return branchesMapper.addBranches(branches) > 0 ? true : false;}@Overridepublic boolean delBranches(Integer id) {return branchesMapper.delBranches(id) > 0 ? true : false;}
}

controller

BranchesController.java

package com.zhibang.controller;import com.zhibang.entity.Branches;
import com.zhibang.service.BranchesService;
import com.zhibang.service.impl.BranchesServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
@RequestMapping("/branches/")
public class BranchesController {@Autowiredprivate BranchesServiceImpl branchesServiceImpl;@RequestMapping("show")public String selectBranchesAll(Model model) {model.addAttribute("ShowList", branchesServiceImpl.selectBranchesAll());return "show";}@GetMapping("update/{id}")public String selectBranchesAll(@PathVariable("id") Integer id, Model model) {model.addAttribute("updateList", branchesServiceImpl.selectBranchesByID(id));model.addAttribute("cityareaList", branchesServiceImpl.selectCityareaAll());return "update";}@RequestMapping("update")public String selectBranchesAll(Branches branches) {branchesServiceImpl.updateBranches(branches);return "redirect:show";}@RequestMapping(value = "add",method = RequestMethod.POST)//访问地址:updatepublic String addBranches(Branches branches) {branchesServiceImpl.addBranches(branches);return "redirect:show";//redirect:重定向,更新数据}@RequestMapping("/del/{id}")//访问地址:del 参数:sIDpublic String BranchesList(@PathVariable("id") Integer id) {branchesServiceImpl.delBranches(id);return "redirect:/branches/show";//redirect:重定向,更新数据}}

查询

branchesMapper.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">
<!-- namespace:全限类名【要绑定的 Dao/Mapper 接口】 -->
<mapper namespace="com.zhibang.mapper.BranchesMapper"><update id="updateBranches">update exam0521.branchesset name       = #{name},cityareald = #{cityAreald.id},address    = #{address},telephone  = #{telephone}where id = #{id};</update><resultMap id="branchesMap" type="com.zhibang.entity.Branches"><id property="id" column="bid"/><result property="name" column="bname"/><result property="address" column="address"/><result property="telephone" column="telephone"/><association property="cityAreald" javaType="com.zhibang.entity.Cityarea"><id property="id" column="cid"/><result property="name" column="cname"/></association></resultMap><sql id="branchesSql">select b.id bid, c.id cid, b.name bname, c.name cname, b.address, b.telephonefrom exam0521.branches b,exam0521.cityarea cwhere b.cityareald = c.id</sql><insert id="addBranches" parameterType="com.zhibang.entity.Branches">insert into branches(name, cityareald, address, telephone)values (#{name}, #{cityAreald.id}, #{address}, #{telephone});</insert><select id="selectBranchesByID" resultMap="branchesMap"><include refid="branchesSql"/>and b.id = #{id};</select><select id="selectBranchesAll" resultMap="branchesMap"><include refid="branchesSql"/></select><select id="selectCityareaAll" resultType="com.zhibang.entity.Cityarea">select * from exam0521.cityarea;</select><delete id="delBranches">deletefrom exam0521.brancheswhere id = #{id};</delete>
</mapper>

主页面

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<style type="text/css">.aa{text-align: center;}
</style>
<body>
<h1><div class="aa"><a href="/branches/show">点击查询城区信息</a></div>
</h1>
</body>
</html>

显示页面

show.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<style type="text/css">.aa {text-align: center;}table {margin: auto;}
</style>
<head><title>查询</title><link rel="stylesheet" type="text/css" href="/bootstrap/css/bootstrap.min.css"/>
</head>
<body>
<div class="aa"><h1>营点网页查询</h1><table class="table-striped table-bordered"><tr><th>网点名称</th><th>所在城区</th><th>网点地址</th><th>联系电话</th><th>操作</th></tr><c:forEach items="${ShowList}" var="list"><tr><td>${list.name}</td><td>${list.cityAreald.name}</td><td>${list.address}</td><td>${list.telephone}</td><td><a href="add.jsp">添加</a><a href="/branches/update/${list.id}">修改</a><a href="/branches/del/${list.id}">删除</a></td></tr></c:forEach></table>
</div></body>
</html>

修改页面

update.jsp

  1. <%@ page import="com.zhibang.entity.Branches" %>
    <%@ page import="com.zhibang.entity.Cityarea" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head><title>修改</title><style type="text/css">.bb {text-align: center;}</style><script>function canset() {var city = document.getElementById("city");if (city.value == -1) {alert("请选择城区")return false;}return true;}</script>
    </head>
    <body>
    <div class="bb"><h1>修改网点信息</h1><form action="/branches/update" method="post" id="form" onsubmit="return canset()"><input type="hidden" name="id" value="${updateList.id}"/>网点名称: <input id="name" type="text" name="name" value="${updateList.name}" required="required"oninvalid="setCustomValidity('网点名称不能为空')" oninput="setCustomValidity('')"/><br/>所在城区:<select id="city" name="cityAreald.id"><option value="-1">---请选择---</option><c:forEach items="${cityareaList}" var="clist"><option value="${clist.id}" ${clist.id==updateList.cityAreald.id?'selected':''}>${clist.name}</option></c:forEach></select><br/>网点地址: <input id="address" type="text" name="address" value="${updateList.address}" required="required"oninvalid="setCustomValidity('网点地址不能为空')" oninput="setCustomValidity('')"/><br/>联系电话: <input id="telephone" type="text" name="telephone" value="${updateList.telephone}" required="required"oninvalid="setCustomValidity('联系电话不能为空')" oninput="setCustomValidity('')"/><br/><input type="submit" value="修改"/><input type="reset" value="重置"/><button><a href="javascript: history.go(-1);">取消</a></button></form>
    </div>
    </body>
    </html>

添加页面

add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><style type="text/css">.bb{text-align: center;}</style>
</head>
<body><div class="bb"><h1>添加网点信息</h1><form action="/branches/add" method="post">网点名称:<input type="text" name="name"/><br/>所在城区:<input type="text" name="cityAreald.id"/><br/>网点地址: <input id="address" type="text" name="address"  required="required"oninvalid="setCustomValidity('网点地址不能为空')" oninput="setCustomValidity('')"/><br/>联系电话: <input id="telephone" type="text" name="telephone"  required="required"oninvalid="setCustomValidity('联系电话不能为空')" oninput="setCustomValidity('')"/><br/><input type="submit" vSalue="添加"/></form></div>
</body>
</html>

附言:

Bootstrap架包的话,请到官网下载:(https://v2.bootcss.com/)

使用SSM实现某银行营业网点管理模块,使用MySQL作为后台数据库相关推荐

  1. 某银行拟开发一套ATM系统软件对客户的账户和交易信息进行管理。该系统的后台数据库为ATM,

    某银行拟开发一套ATM系统软件对客户的账户和交易信息进行管理.该系统的后台数据库为ATM,该数据库中拥有账户表Account和交易表TransInfo两张表. 使用Navicat for MySQL创 ...

  2. 手机版数据库oracle,用手机管理及维护MySQL,Oracle等数据库

    sql server 导出的datetime结果 CAST(0x00009E0E0095524F AS DateTime) 如何向mysql,oracle等数据库进行转换 1. 处理 sql serv ...

  3. 用手机管理及维护MySQL,Oracle等数据库

    现在移动办公的情况及需求越来越多,平时MySQL,Oracle,SQLServer等数据库的管理都要通过客户端工具操作,现在有一款基于web网页的软件:TreeSoft数据库管理系统,在服务器布署一套 ...

  4. ssm基于SSM的南昌旅游网站管理系统设计与实现 毕业设计源码101407

    南昌旅游网站管理系统 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势.计算机的优势和普及使得各种信息系统的开发成为必需. 南昌旅游网站管理系统设计,主要的模块包括查看首页.公告内容(轮播 ...

  5. 基于SSM的南昌旅游网站管理系统设计与实现 毕业设计源码101407

    南昌旅游网站管理系统 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势.计算机的优势和普及使得各种信息系统的开发成为必需. 南昌旅游网站管理系统设计,主要的模块包括查看首页.公告内容(轮播 ...

  6. (附源码)ssm基于SSM的南昌旅游网站管理系统设计与实现 毕业设计 101407

    南昌旅游网站管理系统 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势.计算机的优势和普及使得各种信息系统的开发成为必需. 南昌旅游网站管理系统设计,主要的模块包括查看首页.公告内容(轮播 ...

  7. 70-项目实战后续(课程管理模块)

    项目实战后续(课程管理模块) 项目介绍: 前面我们完成了初步的项目,接下来实现更高等级的作用(基于框架的项目编写) 页面原型展示: 技术选型: 前端技术选型: 后端技术选型: 项目开发环境 : 开发工 ...

  8. 拉勾教育后台管理系统(SSM)(课程管理模块开发)【学习笔记】

    文章目录 1.项目架构 1.1.项目介绍 1.2.技术选型 1.2.1.前端技术选型 1.2.2.后端技术选型 1.3.项目开发环境 2.Maven进阶使用(Maven聚合工程) 2.1.maven的 ...

  9. 06_04_任务一:拉勾教育后台管理系统[课程管理模块、图片上传、 BeanUtils封装实体类](SSM)

    拉勾教育后台管理系统(SSM) 1. 项目架构 1.1 项目介绍 ​ 拉勾教育后台管理系统,是提供给拉勾教育的相关业务人员使用的一个后台管理系统, 业务人员可以在 这个后台管理系统中,对课程信息.广告 ...

最新文章

  1. 剑指offer java版(三)
  2. Python 计算机视觉(十二)—— OpenCV 进行图像分割
  3. 20211028 Stabilizability
  4. maven优化-repositories,dependencyManagement,pluginManagement
  5. C# 之 Math取整
  6. 2018年全国中高等院校教师“Python编程、应用及华为大数据” 、“网络空间安全”、“区块链”培训班...
  7. Linux下在tomcat上部署项目
  8. 高达 800 万次下载量的 npm 包被黑客篡改了代码,你的设备或正成为挖矿机
  9. vsftpd安装配置_CentOS7配置vsftpd虚拟用户模式详解
  10. mysql数据库管理工具navicat for mysql怎么用
  11. mapInfo文件格式详解,其中有“细说Mapinfo索引文件*.ind”
  12. SQL盲注中的部分常用函数
  13. 2018-09-10-整车开发流程名词解释
  14. C# 使用NPOI.XSSF对Excel进行操作
  15. android 7.1 字体大小设置,微信安卓版7.0.4字体大小被吐槽,微信官方回应又被吐槽...
  16. influxdb Measurements
  17. AI病毒来袭,拿什么拯救你我的电脑?
  18. 手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS渲染 1
  19. 数据库中“一对一”、“一对多”、“多对多”的判断方法
  20. 互联网晚报 | 9月10日 星期五 | 美团启动数字人民币低碳出行试点;vivo X70系列正式发布;旷视科技科创板IPO过会...

热门文章

  1. 怎么批量提取文件夹名称?
  2. 支付宝支付功能(一)
  3. 不歧视双非的计算机院校,【21择校】这些高校不歧视双非,保护一志愿!
  4. uniapp引入vantweapp踩坑笔记
  5. 修改confirm样式
  6. lxr+glimpse安装
  7. 小学计算机教案 插入艺术字,小学信息技术《插入艺术字》教案
  8. 使用python爬取奥特曼图片
  9. 稀少铜厚:铜厚: 45<t ≤55
  10. 爱的C语言歌曲,爱的C语言(伴奏)