具有SSM框架的CRUD与多条件查询
概述
详细
代码下载:http://www.demodashi.com/demo/13653.html
一、功能展示
部门CRUD:
员工CRUD:
多条件查询与分页:
二、代码结构
三、操作过程
1>下载源码, 使用idea导入
2:>启动tomcat服务器
3>打开浏览器访问
http://localhost:8888/employee/list.do
四、关键代码
员工的表现层
package com.langfeiyes.ssm.web.controller;import com.langfeiyes.ssm.domain.Employee;
import com.langfeiyes.ssm.query.EmployeeQueryObject;
import com.langfeiyes.ssm.query.QueryObject;
import com.langfeiyes.ssm.service.IDepartmentService;
import com.langfeiyes.ssm.service.IEmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("employee")
public class EmployeeController {@Autowiredprivate IEmployeeService employeeService;@Autowiredprivate IDepartmentService departmentService;@RequestMapping("list")public String list(Model model, @ModelAttribute("qo") EmployeeQueryObject qo) throws Exception{model.addAttribute("result", employeeService.query(qo));model.addAttribute("currentMenu", "employee");model.addAttribute("depts", departmentService.list());return "employee/list";}@RequestMapping("input")public String input(Long id, Model model) throws Exception{if(id != null){model.addAttribute("entity", employeeService.get(id));}model.addAttribute("depts", departmentService.list());model.addAttribute("currentMenu", "employee");return "employee/input";}@RequestMapping("saveOrUpdate")public String saveOrUpdate(Employee entity) throws Exception{if(entity.getId() != null){employeeService.update(entity);}else{employeeService.save(entity);}return "redirect:/employee/list.do";}@RequestMapping("delete")public String input(Long id) throws Exception{if(id != null){employeeService.delete(id);}return "redirect:/employee/list.do";}
}
员工列表页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><meta name="viewport" content="width=device-width, initial-scale=1"><%@include file="/WEB-INF/views/common/header.jsp"%><style>.page-head-line {font-size: 30px;text-transform: uppercase;color: #337ab7;font-weight: 800;padding-bottom: 20px;border-bottom: 2px solid #00a7ff;margin-bottom: 10px;}</style><script type="text/javascript">$(function(){$("#pagination").twbsPagination({totalPages:${result.totalPage},visiblePages:${result.pageSize},startPage:${qo.currentPage},first:"首页",prev:"上一页",next:"下一页",last:"尾页",onPageClick:function(event,page){$("#currentPage").val(page);$("#searchForm").submit();}});$("#query").click(function(){$("#currentPage").val(1);$("#searchForm").submit();});$("#cancel").click(function () {$("#dept").val("-1");$("#keyword").val("");$("#currentPage").val(1);$("#searchForm").submit();});});</script>
</head>
<body><div class="container " style="margin-top: 20px"><div class="row"><div class="col-sm-3"><%@include file="/WEB-INF/views/common/menu.jsp"%></div><div class="col-sm-9"><div class="row"><div class="col-sm-12"><h1 class="page-head-line">员工管理</h1></div></div><!--高级查询---><form class="form-inline" id="searchForm" action="/employee/list.do" method="post"><input type="hidden" name="currentPage" id="currentPage" value="${qo.currentPage}"><input type="hidden" name="pageSize" id="pageSize" value="${qo.pageSize}"><div class="form-group"><label for="keyword">关键字:</label><input type="text" class="form-control" id="keyword" name="keyword" placeholder="请输入姓名/邮箱" value="${qo.keyword}"></div><div class="form-group"><label for="dept">部门:</label><select class="form-control" id="dept" name="deptId"><option value="-1">全部</option><c:forEach items="${depts}" var="d"><option value="${d.id}" ${qo.deptId == d.id? 'selected':''}>${d.name}</option></c:forEach></select></div><button type="button" id="query" class="btn btn-default">查询</button><button type="button" id="cancel" class="btn btn-default" >重置</button><a class="btn btn-success" href="/employee/input.do"><span class="glyphicon glyphicon-plus"></span>添加</a></form><table class="table table-striped table-hover" ><thead><tr><th>编号</th><th>名称</th><%--<th>密码</th>--%><th>email</th><th>年龄</th><th>部门</th><th>操作</th></tr></thead><c:forEach items="${result.list}" var="e" varStatus="vs"><tr><td>${vs.count}</td><td>${e.name}</td><%--<td>${e.password}</td>--%><td>${e.email}</td><td>${e.age}</td><td>${e.dept.name}</td><td><a class="btn btn-info btn-xs" href="/employee/input.do?id=${e.id}"><span class="glyphicon glyphicon-pencil"></span>编辑</a><a href="/employee/delete.do?id=${e.id}" class="btn btn-danger btn-xs" ><span class="glyphicon glyphicon-trash"></span>删除</a></td></tr></c:forEach></table><div style="text-align: center;"><ul id="pagination" class="pagination"></ul></div></div></div>
</div>
</body>
</html>
总配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!-- -1: 配置扫描包 --><context:component-scan base-package="com.langfeiyes.ssm"/><!--0:配置数据源--><context:property-placeholder location="classpath:db.properties" system-properties-mode="NEVER"/><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close"><property name="driverClassName" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><!--1:配置SqlSessionFactory--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--1.1:配置数据源--><property name="dataSource" ref="dataSource"/><!--1.2:配置mybatis.xml配置文件--><property name="configLocation" value="classpath:mybatis.xml"/><!--1.3:配置mapper配置文件--><property name="mapperLocations" value="classpath:com/langfeiyes/ssm/mapper/*Mapper.xml"/><!--1.4:配置别名--><property name="typeAliasesPackage" value="com.langfeiyes.ssm.domain"/></bean><!---2:配置mapper接口实现类--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.langfeiyes.ssm.mapper"/></bean><!--3:配置事务--><!--3w: who what when : I has dinner last night --><!--3.1:what 什么增强--><bean id="txManger" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!--3.2:when--><tx:advice id="txAdivce" transaction-manager="txManger"><tx:attributes><tx:method name="get*" read-only="true"/><tx:method name="select*" read-only="true"/><tx:method name="list*" read-only="true"/><tx:method name="check*" read-only="true"/><tx:method name="*" propagation="REQUIRED"/></tx:attributes></tx:advice><!--3.3:who--><aop:config><aop:pointcut id="pc" expression="execution( * com.langfeiyes.ssm.service.*Service.*(..))"/><aop:advisor advice-ref="txAdivce" pointcut-ref="pc"/></aop:config> </beans>
五、其他补充
暂时没有
代码下载:http://www.demodashi.com/demo/13653.html
注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权
转载于:https://www.cnblogs.com/demodashi/p/9453016.html
具有SSM框架的CRUD与多条件查询相关推荐
- SSM山东医院-1-登录(对象条件查询)-未加密版本
文章目录 前言 山东医院笔记 1.实现登录 login.hml UserMapper.xml UserController UserService:接口 UserServiceImpl:实现 User ...
- SSM框架之数据分页,模糊查询
1.创建springMVC项目,搭建环境 2.创建Page.java,存储信息 import java.util.HashMap; import java.util.List; import java ...
- MyBatis框架笔记05:MyBatis条件查询
目录 一.提出需求 二.创建学生映射器配置文件StudentMapper.xml 三.在Mybatis配置文件里注册StudentMapper.xml
- SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客)
第一步:首先要在我们的springMVC.xml文件中添加上传文件解析器 <!-- 定义文件上传解析器 --> <bean id="multipartResolver&qu ...
- 基于SSM框架的交通车辆违章处理违章查询网站的设计与实现
开发工具(eclipse/idea): eclipse4.5/4.8或者idea2018,jdk1.8 数据库:mysql 功能模块: 前台用户 1.用户可以注册登录, 2.输入车牌号就能查询自己的违 ...
- ssm框架整合的crud项目详细步骤
文章目录 由于很多图片加载不出来,点击这,看完整版 ssm_crud项目 一.项目说明 1.项目预览 2.项目的功能点 3.项目技术点 二.基础环境的搭建 1.创建maven工程 2.引入项目依赖的j ...
- 结合Layui框架,实现SpringMVC+Spring+Mybatis,SSM整合案例CRUD(超详细代码,外加说明)
首先: 你需要去Layui官网下载UI框架.你可能会问,为什么用Layui实现页面效果?简单来说就是:简单.好用.上手快,作为JAVA后端开发人员,Layui无疑是非常友好的,拿来即用. 页面效果图: ...
- SSM框架CRUD操作批量删除批量追加数据(OracleMySQL数据库)
SSM框架CRUD操作Demo 1.SSM开发环境搭建详见下一章微博 2.定义起始页,基本的超链接完成请求,详见如图 由于时间关系,本人将在本博客中陆续推出高级框架阶段的系列教程,现已经发布如下几篇, ...
- ssm框架中利用pagehelper分页,完成模糊查询与select条件查询
ssm框架中利用pagehelper分页,完成模糊查询与select条件查询 一.问题分析 1.1 往期回顾 pagehelper分页 https://blog.csdn.net/Jia_Peng_T ...
最新文章
- OAuth认证协议原理分析及使用方法
- _tmain和main
- mysql的常用内置函数
- 计算机用的机械硬盘的工作原理,为啥一震就坏?机械硬盘的构造原理是什么?...
- 想调试Angular框架的@HostBinding,应该在哪里设置断点
- 【CodeForces - 244A 】Dividing Orange (构造,水题)
- 图谱实战 | 知识图谱构建的一站式平台gBuilder
- 计算机网络(十四)-CSMA/CD协议
- ORA-01507: database not mounted
- PageHelper.cs(20170223)
- 快速排序算法实现:单向扫描法双向扫描法三分法(有相同元素)
- supersocket缓冲区_关于supersocker的数据传输中遇到的问题
- linux模拟进程调度,Linux进程调度模拟3
- java网上购物系统_基于java的网上购物系统的设计与实现
- Vbs脚本编程简明教程之二
- UEFI与BIOS GPT与MBR 科普
- layui的layer弹出层内置方法
- oracle中如何查看日志,ORACLE报警日志如何查看
- OpenStack配置分布式路由(neutron)
- matlab 代码转 Python
热门文章
- select 下拉菜单Option对象使用add(elements,index)方法动态添加
- greenplum error!
- 在linux中安装nginx
- Python多线程thread与threading实现
- 《C和指针》一1.5 警告的总结
- MyBatis入门学习教程-调用存储过程
- [Hadoop][笔记]4个节点搭建Hadoop2.x HA测试集群
- 用php简单实现加减乘除计算器
- const,readonly 这些你真的懂吗? 也许会被面试到哦。。。
- python在内存中生成Zip文件!