pom.xml中配置所需jar
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>AntSource</groupId>
<artifactId>AntSource</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>AntSource Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 动态web项目 Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- end Servlet API -->
<!-- Spring+Spring MVC整合资源 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.11.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.11.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.11.RELEASE</version>
</dependency>
<!-- end spring MVC -->
<!-- Mybatis数据相关 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.11.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- end Mybatis -->
<!-- JSTL扩展标签资源 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- end JSTL -->
<!-- JSON对象转化工具资源 -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency>
<!-- JSON end -->
<!-- java EE 扩展注解包 -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.1</version>
</dependency>
<!-- end java EE -->
<!-- 分页插件-0 必须先导入此资源 -->
<dependency>
<groupId>jsptags</groupId>
<artifactId>pager-taglib</artifactId>
<version>2.0</version>
</dependency>
<!-- end -->
<!-- spring AOP插件,面向切面编程 -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.10</version>
</dependency>
<!-- end spring AOP -->
</dependencies>
<build>
<finalName>AntSource</finalName>
</build>
</project>
resources下新建spring.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:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
">
<!-- 自动包扫描 -->
<context:component-scan base-package="kohgylw.controller"></context:component-scan>
<context:component-scan base-package="kohgylw.service.impl"></context:component-scan>
<!-- end 自动包扫描 -->
<!-- Mybatis Spring 整合配置 -->
<bean id="dmds"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url"
value="
jdbc:mysql://127.0.0.1:3306/antsource?useUnicode=true&characterEncoding=gbk&useSSL=true
"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dmds" />
<property name="configLocation" value="classpath:mybatis.xml" />
<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
<property name="mapperLocations" value="classpath:kohgylw/mapper/xml/*.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="kohgylw.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
<!-- end MyBatis Spring -->
<!-- spring MVC 相关配置 -->
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/" p:suffix=".jsp" />
<!-- end spring MVC -->
<!-- 对于切面的注解驱动 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<!-- end 切面 -->
<!-- 关于Mybatis-spring 的事务管理 -->
<bean id="dstm"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dmds"></property>
</bean>
<tx:annotation-driven transaction-manager="dstm" />
<!-- end 事务管理 -->
</beans>
mybatis.xml中配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 这里配置mybatis的一些参数,需要啥配啥 -->
<!-- 查看执行的sql语句和结果 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
</configuration>
generator Config.xml中配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<!-- 这个文件,是 MyBatis Generator 的配置文件,真正的黑科技,根据数据库自动生成Bean和Mapper -->
<generatorConfiguration>
<!-- 配置驱动,写你的数据库驱动位置,maven中你的mysql的jar包所在位置 -->
<classPathEntry
location="E:/repo/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar" />
<context id="context1">
<commentGenerator>
<property name="suppressDate" value="true" />
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 在这写上你的数据库链接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/antsource?useUnicode=true&characterEncoding=gbk&useSSL=true"
userId="root" password="root" />
<!-- 这写上你要把数据表映射的Bean生成在哪 -->
<javaModelGenerator targetPackage="kohgylw.model"
targetProject="AntSource" />
<!-- 这写上你要把查询映射的XML生成在哪 -->
<sqlMapGenerator targetPackage="kohgylw.mapper.xml"
targetProject="AntSource" />
<!-- 这写上你要把查询映射的接口生成在哪 -->
<javaClientGenerator targetPackage="kohgylw.mapper"
targetProject="AntSource" type="XMLMAPPER" />
<!-- 这一部分写你要把哪张表生成Bean,参数名浅显易懂,下面可以写多个table -->
<!-- 后面那一大串false的意思是是否生成增删改查的例子,一般来说可以生成 -->
<!-- <table tableName="member" domainObjectName="Member"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
<table tableName="auth" domainObjectName="Auth"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
<table tableName="auth_group" domainObjectName="AuthGroup"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
<table tableName="role" domainObjectName="Role"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
<table tableName="member_role" domainObjectName="MemberRole"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
<table tableName="role_auth" domainObjectName="RoleAuth"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table> -->
<!-- <table tableName="department" domainObjectName="Department"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table> -->
<table tableName="client" domainObjectName="Client"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
Java代码
kohgylw.model下建 实体类Department.java
package kohgylw.model;
public class Department {
private Integer departmentId;
private String pId;
private String departmentName;
private String departmentTel;
private String departmentDesc;
private String departmentGer;
private String departmentType;
public Integer getDepartmentId() {
return departmentId;
}
public void setDepartmentId(Integer departmentId) {
this.departmentId = departmentId;
}
public String getpId() {
return pId;
}
public void setpId(String pId) {
this.pId = pId;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public String getDepartmentTel() {
return departmentTel;
}
public void setDepartmentTel(String departmentTel) {
this.departmentTel = departmentTel;
}
public String getDepartmentDesc() {
return departmentDesc;
}
public void setDepartmentDesc(String departmentDesc) {
this.departmentDesc = departmentDesc;
}
public String getDepartmentGer() {
return departmentGer;
}
public void setDepartmentGer(String departmentGer) {
this.departmentGer = departmentGer;
}
public String getDepartmentType() {
return departmentType;
}
public void setDepartmentType(String departmentType) {
this.departmentType = departmentType;
}
}
辅助分页插件DepartmentPager.java
package kohgylw.model;
import java.util.List;
//辅助生成分页插件的
public class DepartmentPager {
private int total;//总页码
private int totalRecords;//总记录数
private List<Department> listDepartments;//分页记录集合
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}
public List<Department> getListDepartments() {
return listDepartments;
}
public void setListDepartments(List<Department> listDepartments) {
this.listDepartments = listDepartments;
}
@Override
public String toString() {
return "DepartmentPager [total=" + total + ", totalRecords=" + totalRecords + ", listDepartments="
+ listDepartments + "]";
}
}
kohgylw.mapper下建接口 DepartmentMapper.java
package kohgylw.mapper;
import java.util.List;
import java.util.Map;
import kohgylw.model.Department;
public interface DepartmentMapper {
int deleteByPrimaryKey(Integer departmentId);
int insert(Department record);
int insertSelective(Department record);
Department selectByPrimaryKey(Integer departmentId);
int updateByPrimaryKeySelective(Department record);
int updateByPrimaryKey(Department record);
//求部门总记录数
int queryDepartmentNum(Map<String, Object> totalMap);
List<Department> querydepartmentPage(Map<String, Object> map);
//根据部门名称查询单个信息
Department selectByDepartmentId(Integer departmentId);
}
kohgylw.mapper.xml下建接口实现类 DepartmentMapper.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="kohgylw.mapper.DepartmentMapper">
<resultMap id="BaseResultMap" type="kohgylw.model.Department">
<id column="department_id" jdbcType="INTEGER" property="departmentId" />
<result column="p_id" jdbcType="VARCHAR" property="pId" />
<result column="department_name" jdbcType="VARCHAR" property="departmentName" />
<result column="department_tel" jdbcType="VARCHAR" property="departmentTel" />
<result column="department_desc" jdbcType="VARCHAR" property="departmentDesc" />
<result column="department_ger" jdbcType="VARCHAR" property="departmentGer" />
<result column="department_type" jdbcType="VARCHAR" property="departmentType" />
</resultMap>
<sql id="Base_Column_List">
department_id, p_id, department_name, department_tel, department_desc, department_ger,
department_type
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from department
where department_id = #{departmentId,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from department
where department_id = #{departmentId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="kohgylw.model.Department">
insert into department (department_id, p_id, department_name,
department_tel, department_desc, department_ger,
department_type)
values (#{departmentId,jdbcType=INTEGER}, #{pId,jdbcType=VARCHAR}, #{departmentName,jdbcType=VARCHAR},
#{departmentTel,jdbcType=VARCHAR}, #{departmentDesc,jdbcType=VARCHAR}, #{departmentGer,jdbcType=VARCHAR},
#{departmentType,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="kohgylw.model.Department">
insert into department
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="departmentId != null">
department_id,
</if>
<if test="pId != null">
p_id,
</if>
<if test="departmentName != null">
department_name,
</if>
<if test="departmentTel != null">
department_tel,
</if>
<if test="departmentDesc != null">
department_desc,
</if>
<if test="departmentGer != null">
department_ger,
</if>
<if test="departmentType != null">
department_type,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="departmentId != null">
#{departmentId,jdbcType=INTEGER},
</if>
<if test="pId != null">
#{pId,jdbcType=VARCHAR},
</if>
<if test="departmentName != null">
#{departmentName,jdbcType=VARCHAR},
</if>
<if test="departmentTel != null">
#{departmentTel,jdbcType=VARCHAR},
</if>
<if test="departmentDesc != null">
#{departmentDesc,jdbcType=VARCHAR},
</if>
<if test="departmentGer != null">
#{departmentGer,jdbcType=VARCHAR},
</if>
<if test="departmentType != null">
#{departmentType,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="kohgylw.model.Department">
update department
<set>
<if test="pId != null">
p_id = #{pId,jdbcType=VARCHAR},
</if>
<if test="departmentName != null">
department_name = #{departmentName,jdbcType=VARCHAR},
</if>
<if test="departmentTel != null">
department_tel = #{departmentTel,jdbcType=VARCHAR},
</if>
<if test="departmentDesc != null">
department_desc = #{departmentDesc,jdbcType=VARCHAR},
</if>
<if test="departmentGer != null">
department_ger = #{departmentGer,jdbcType=VARCHAR},
</if>
<if test="departmentType != null">
department_type = #{departmentType,jdbcType=VARCHAR},
</if>
</set>
where department_id = #{departmentId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="kohgylw.model.Department">
update department
set p_id = #{pId,jdbcType=VARCHAR},
department_name = #{departmentName,jdbcType=VARCHAR},
department_tel = #{departmentTel,jdbcType=VARCHAR},
department_desc = #{departmentDesc,jdbcType=VARCHAR},
department_ger = #{departmentGer,jdbcType=VARCHAR},
department_type = #{departmentType,jdbcType=VARCHAR}
where department_id = #{departmentId,jdbcType=INTEGER}
</update>
<!--根据部门名称查询单条信息 -->
<select id="selectByDepartmentId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select * from department where department_id = #{departmentId,jdbcType=INTEGER}
</select>
<!-- 按照部门领导和部门名称模糊查询总记录数 -->
<select id="queryDepartmentNum" resultType="java.lang.Integer"
parameterType="java.util.Map">
select count(*) from department <!-- where
<if test="departmentType != null and departmentType !=''">
department_type = #{departmentType,jdbcType=VARCHAR} and
</if>
department_name like #{departmentName,jdbcType=VARCHAR}
-->
</select>
<!--获取部门分页记录 -->
<select id="querydepartmentPage" parameterType="java.util.Map" resultMap="BaseResultMap">
select * from department <!-- where
<if test="departmentType != null and departmentType != ''">
department_type = #{departmentType,jdbcType=VARCHAR} and
</if>
department_name like #{departmentName,jdbcType=VARCHAR} -->
limit
#{pno,jdbcType=VARCHAR},#{num,jdbcType=VARCHAR}
</select>
</mapper>
kohgylw.service.impl下建接口 DepartmentService.java
package kohgylw.service.impl;
import kohgylw.model.Department;
public interface DepartmentService {
//添加部门
int insertDepartment(Department department);
//删除部门
int deleteMember(Department department);
//实现查询所有以及默认分页
String getDepartmentServicePage(String pageNumber, String departmentType, String departmentName);
// 修改部门信息
int updateDepartment(Department department);
//根据部门名称查询单个信息
Department selectByDepartmentId(Integer departmentId);
}
kohgylw.service.impl下建实现类 DepartmentServiceImpl.java
package kohgylw.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.google.gson.Gson;
import kohgylw.mapper.DepartmentMapper;
import kohgylw.model.Department;
import kohgylw.model.DepartmentPager;
//业务层(调用mapper层)
@Service
public class DepartmentServiceImpl implements DepartmentService {
@Resource
private DepartmentMapper departmentMapper;
//添加部门
public int insertDepartment(Department department) {
return departmentMapper.insert(department);
}
//删除部门
public int deleteMember(Department department) {
return departmentMapper.deleteByPrimaryKey(department.getDepartmentId());
}
//实现查询所有以及默认分页
public String getDepartmentServicePage(String pno, String departmentType, String departmentName) {
System.out.println("pno"+pno);
System.out.println("departmentType"+departmentType);
System.out.println("departmentName"+departmentName);
//每页记录6条数据
int pageSize=6;
//模糊查询赋值
Map<String, Object> totalMap = new HashMap<String, Object>();
totalMap.put("departmentType", "%" + departmentType + "%");
totalMap.put("departmentName", departmentName);
//求总记录数
int totalRecords = departmentMapper.queryDepartmentNum(totalMap);
System.out.println("totalRecords-----1-->"+totalRecords);
//总页数
int totalPage = 0;
Gson gson = new Gson();
//自定义类
DepartmentPager departmentPager = new DepartmentPager();
//给总记录数赋值
departmentPager.setTotalRecords(totalRecords);
//求出总页数
if (totalRecords % pageSize > 0) {
totalPage = totalRecords / pageSize + 1;
} else {
totalPage = totalRecords / pageSize;
}
System.out.println("totalPage -----1-->"+totalPage );
departmentPager.setTotal(totalPage);
//获取当前页
int n = 1;
if (pno != null && pno.length() > 0) {
n = Integer.parseInt(pno);
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("pno", (n - 1) * pageSize);
map.put("num", pageSize);
map.put("departmentType", "%" + departmentType + "%");
map.put("departmentName", departmentName);
List<Department> listdepartments = departmentMapper.querydepartmentPage(map);
System.out.println(totalRecords + "**********" + pageSize);
departmentPager.setListDepartments(listdepartments);
System.out.println("departmentJson=="+gson.toJson(departmentPager));
return gson.toJson(departmentPager);
}
//修改用户信息
public int updateDepartment(Department department) {
return departmentMapper.updateByPrimaryKey(department);
}
//根据部门名称查询单个信息
public Department selectByDepartmentId(Integer departmentId) {
return departmentMapper.selectByDepartmentId(departmentId);
}
}
kohgylw.controller下建控制器 DepartmentController.java
package kohgylw.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import kohgylw.model.Department;
import kohgylw.service.impl.DepartmentService;
//控制器层(调用service业务层)
@Controller
@RequestMapping("/Department")
public class DepartmentController {
@Resource
private DepartmentService departmentService;
//部门添加
@RequestMapping("/addDepartment.ajax")
@ResponseBody
public String addDepartmentr(Department department){
int rs = departmentService.insertDepartment(department);
System.out.println("insert---->"+rs);
if(rs>0){
return "dpinsertOK";
}
return "dpinsertError";
}
//删除部门
@RequestMapping("/deleteDepartment.ajax")
@ResponseBody
public String deleteDepartment(Department department) {
int rs=departmentService.deleteMember(department);
if(rs>0) {
return "deleteDepartment";
}
return "deleteDeleteDepartmentError";
}
// 页面加载实现查询所有以及默认分页
@RequestMapping(value="initDepartmentPage.ajax",produces="text/html;charset=utf-8")
@ResponseBody
public String initDepartmentPage(String pageNumber, String departmentType, String departmentName){
System.out.println("pageNumber==>"+pageNumber);
System.out.println("DepartmentType==>"+departmentType);
System.out.println("DepartmentName==>"+departmentName);
String departmentJson = departmentService.getDepartmentServicePage(pageNumber, departmentType, departmentName);
return departmentJson;
}
//修改部门信息
@RequestMapping("/updateDepartment.ajax")
@ResponseBody
public String updateDepartment(Department department) {
int rs=departmentService.updateDepartment(department);
System.out.println("rs"+rs);
if(rs>0) {
return "updateD";
}
return "updateError";
}
//根据部门名称查询单个信息
@RequestMapping("/queryDepartmentById.do")
public String queryDepartmentById(HttpServletRequest request,Integer departmentId) {
Department departments=departmentService.selectByDepartmentId(departmentId);
System.out.println("department===="+departments);
request.setAttribute("department", departments);
return "view/department/department-update";
}
}
webapp/view/department下
department-list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
<meta charset="UTF-8">
<title>部门管理</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="css/font.css">
<link rel="stylesheet" href="css/xadmin.css">
<link rel="stylesheet" href="css/kkpager_orange.css">
<script type="text/javascript"
src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="js/xadmin.js"></script>
<script type="text/javascript" src="js/kkpager.min.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="x-nav">
<span class="layui-breadcrumb"> <a>人员管理</a> <a> <cite>部门管理</cite></a>
</span> <a class="layui-btn layui-btn-small"
style="line-height: 1.6em; margin-top: 3px; float: right"
href="javascript:location.replace(location.href);" title="刷新"> <i
class="layui-icon" style="line-height: 30px">ဂ</i></a>
</div>
<div class="x-body">
<div class="layui-row">
<form class="layui-form layui-col-md12 x-so">
<span>快速查询:</span> <input class="layui-input" placeholder="请输入部门编号"
id="DepartmentType" name="DepartmentType" value="${department.departmentType }">
<input type="text" id="DepartmentName" name="DepartmentName"
placeholder="请输入部门" autocomplete="off" class="layui-input" value="${department.departmentName }">
<button class="layui-btn" lay-submit="sreach()" lay-filter="sreach">
<i class="layui-icon"></i>
</button>
</form>
</div>
<xblock>
<button class="layui-btn"
onclick="x_admin_show('添加用户','view/department/department-add.jsp',500,500)">
<i class="layui-icon"></i>添加
</button>
<span class="x-right" style="line-height: 40px">共有数据:<span id="totalRecords"></span>条</span></xblock>
<table class="layui-table">
<thead>
<tr>
<th>父级部门</th>
<th>部门名称</th>
<th>部门电话</th>
<th>部门描述</th>
<th>主管领导</th>
<th>部门领导</th>
<th>部门操作</th>
</tr>
</thead>
<tbody id="tbody">
<!-- 数据示例 -->
<!--
<tr>
<td>HQ001</td>
<td>HQ市场部</td>
<td>HQ1000</td>
<td>HQ市场部门描述</td>
<td>HQ校长</td>
<td>HQ市场部部长</td>
<td>
</a> <a title="编辑"
onclick="x_admin_show('编辑','member-edit.html',600,400)"
href="javascript:;"> <i class="layui-icon"></i>
</a> <a onclick="x_admin_show('修改密码','member-password.html',600,400)"
title="修改密码" href="javascript:;"> <i class="layui-icon"></i>
</a> <a title="删除" onclick="department_del(this,'要删除的id')"
href="javascript:;"> <i class="layui-icon"></i>
</a></td>
</tr> -->
<!-- end 数据示例 -->
</tbody>
</table>
<!-- 分页部分 -->
<div id="kkpager"></div>
<!-- end 分页 -->
</div>
<script>
//页面加载发起异步请求
$(function(){
//默认加载第一页
getDepartmentPage(1);
});
//获取分页方法
function getDepartmentPage(pageNumber) {
//获取部门领导
var DepartmentType = $("#DepartmentType").val();
//获取部门名称
var DepartmentName = $("#DepartmentName").val();
$.ajax({
type : 'POST',//提交方式
dataType : 'text',//后台给前台传入参数
data : {//前台给后台传入参数
pageNumber : pageNumber,
DepartmentType : DepartmentType,
DepartmentName : DepartmentName
},
url : 'Department/initDepartmentPage.ajax',//请求url
success : function(result) {
//把字符串转化为对象
var departmentJson = eval("(" + result + ")");
var listDepartments = departmentJson.listDepartments;
$("#totalRecords").text(departmentJson.totalRecords);//显示总条数
showDepartmentPage(listDepartments);//生成列表
initKkpager(departmentJson.total, departmentJson.totalRecords);//初始化分页插件
},
error : function() {
}
});
};
//用于生成列表的
function showDepartmentPage(departmentinfos) {
$("#tbody").html("");
$.each(departmentinfos,function(n, value) {
var row = "<tr id='tr_"+value.pId+"'><td>"
+ value.pId
+ "</td><td>"
+ value.departmentName
+ "</td><td>"
+ value.departmentTel
+ "</td><td>"
+ value.departmentDesc
+ "</td><td>"
+ value.departmentGer
+ "</td><td>"
+ value.departmentType
+ "</td>"
+ "<td class='td-manage'><a onclick=\"updatedepartment('"+value.departmentId+"')\""
+ "title='修改用户信息'> <i class='layui-icon'></i>"
+ "</a> <a title='删除' onclick=\"department_del('"+value.departmentId+"')\""
+ "> <i class='layui-icon'></i>"
+ "</a></td></tr>"
$("#tbody").append(row);
if(value.memberStatus=="disable"){
$("#tr_"+value.memberLoginid).css("background-color","#C0C0C0")
}else{
$("#tr_"+value.memberLoginid).css("background-color","#FFFFFF")
}
});
}
/*初始化分页插件*/
function initKkpager(total, totalRecords) {
//对容器初始化
var kkpagerSetting={
pno : '1',
mode : 'click', //设置为click模式
//总页码
total : String(total),
//总数据条数
totalRecords : String(totalRecords),
//点击页码、页码输入框跳转、以及首页、下一页等按钮都会调用click
//适用于不刷新页面,比如ajax
click : function(n) {
//这里可以做自已的处理
getDepartmentPage(n);
//处理完后可以手动条用selectPage进行页码选中切换
this.selectPage(n);
},
//getHref是在click模式下链接算法,一般不需要配置,默认代码如下
getHref : function(n) {
return '#';
}
};
kkpager.generPageHtml(kkpagerSetting);//使用心得json数据初始化分页插件
}
/*用户-删除*/
function department_del(departmentId) {
layer.confirm('确认要删除该用户吗?', function() {
$.ajax({
type:'POST',
dataType:'text',
data:{
departmentId:departmentId
},
url:'Department/deleteDepartment.ajax',
success:function(result){
if(result=="deleteDepartment"){
location.reload();
}
},
error:function(){
alert("服务器超时,请稍后再试!");
}
});
//发异步删除数据
layer.msg('已删除!', {
icon : 1,
time : 500
});
});
}
/*修改用户*/
function updatedepartment(departmentId) {
x_admin_show('修改用户','Department/queryDepartmentById.do?departmentId='+departmentId,500,500);
}
</script>
</body>
</html>
department-add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
<meta charset="UTF-8">
<title>添加部门</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="css/font.css">
<link rel="stylesheet" href="css/xadmin.css">
<script type="text/javascript"
src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/layui/layui.js"
charset="utf-8"></script>
<script type="text/javascript" src="js/xadmin.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="x-body">
<form class="layui-form">
<div class="layui-form-item">
<label for="p_id" class="layui-form-label"> <span
class="x-red">*</span>父级部门
</label>
<div class="layui-input-inline">
<input type="text" id="p_id" autocomplete="off" class="layui-input">
</div>
<!-- <div class="layui-form-mid layui-word-aux">6到20个字符</div> -->
</div>
<div class="layui-form-item">
<label for="d_name" class="layui-form-label"> <span
class="x-red">*</span>部门名称
</label>
<div class="layui-input-inline">
<input type="text" id="d_name" autocomplete="off"
class="layui-input">
</div>
<!-- <div class="layui-form-mid layui-word-aux">6到16个字符</div> -->
</div>
<div class="layui-form-item">
<label for="d_tel" class="layui-form-label"> <span
class="x-red">*</span>部门电话
</label>
<div class="layui-input-inline">
<input type="text" id="d_tel" autocomplete="off"
class="layui-input" maxlength="11" onblur="checkMobile()">
</div>
</div>
<div class="layui-form-item">
<label for="d_desc" class="layui-form-label"> <span
class="x-red">*</span>部门描述
</label>
<div class="layui-input-inline">
<input type="text" id="d_desc" autocomplete="off"
class="layui-input">
</div>
<!-- <div class="layui-form-mid layui-word-aux">输入真实姓名</div> -->
</div>
<div class="layui-form-item">
<label for="d_ger" class="layui-form-label"> <span
class="x-red">*</span>主管领导
</label>
<div class="layui-input-inline">
<input type="text" id="d_ger" autocomplete="off"
class="layui-input">
</div>
<!-- <div class="layui-form-mid layui-word-aux"></div> -->
</div>
<div class="layui-form-item">
<label for="d_type" class="layui-form-label"> <span
class="x-red">*</span>部门领导
</label>
<div class="layui-input-inline">
<input type="text" id="d_type" autocomplete="off"
class="layui-input">
</div>
<div class="layui-form-item">
<label for="L_repass" class="layui-form-label"> </label>
<button class="layui-btn" type="button" onclick="adddepartment()">
增加</button>
</div>
</form>
</div>
<script>
//手机号验证
function checkMobile() {
var str = $("#d_tel").val();
var re = /^1\d{10}$/;
if (re.test(str)) {
alert("正确");
} else {
alert("错误");
$("#d_tel").val("");
}
}
layui.use('laydate', function() {
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem : '#L_entry' //指定元素
});
});
function adddepartment(){
layer.alert("增加成功", {
icon : 6
}, function() {
/* //提交信息……
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index); */
//父id
var pId = $("#p_id").val();
//部门名称
var departmentName = $("#d_name").val();
//部门电话
var departmentTel = $("#d_tel").val();
//部门描述
var departmentDesc = $("#d_desc").val();
//主管领导
var departmentGer = $("#d_ger").val();
//部门类型
var departmentType = $("#d_type").val();
//提交信息发起异步请求。。。。。。
$.post("Department/addDepartment.ajax", {
pId : pId,
departmentName : departmentName,
departmentTel : departmentTel,
departmentDesc : departmentDesc,
departmentGer : departmentGer,
departmentType : departmentType,
},
function(result){
if (result == "dpinsertOK") {
// 获得frame索引
var index = parent.layer
.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
parent.location.reload();8
}else{
alert("插入失败!");
}
});
});
}
</script>
</body>
</html>
department-update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
<meta charset="UTF-8">
<title>部门修改</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="css/font.css">
<link rel="stylesheet" href="css/xadmin.css">
<script type="text/javascript"
src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/layui/layui.js"
charset="utf-8"></script>
<script type="text/javascript" src="js/xadmin.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="x-body">
<form class="layui-form">
<div class="layui-form-item" style="display: none">
<label for="d_id" class="layui-form-label"> 部门编号
</label>
<div class="layui-input-inline">
<input type="text" id="d_id" autocomplete="off" class="layui-input" value="${department.departmentId}">
</div>
<!-- <div class="layui-form-mid layui-word-aux">6到20个字符</div> -->
</div>
<div class="layui-form-item">
<label for="p_id" class="layui-form-label"> <span
class="x-red" >*</span>父级部门
</label>
<div class="layui-input-inline">
<input type="text" id="p_id" autocomplete="off" class="layui-input" value="${department.pId}">
</div>
<!-- <div class="layui-form-mid layui-word-aux">6到20个字符</div> -->
</div>
<div class="layui-form-item">
<label for="d_name" class="layui-form-label"> <span
class="x-red">*</span>部门名称
</label>
<div class="layui-input-inline">
<input type="text" id="d_name" autocomplete="off" value="${department.departmentName}"
class="layui-input">
</div>
<!-- <div class="layui-form-mid layui-word-aux">6到16个字符</div> -->
</div>
<div class="layui-form-item">
<label for="d_tel" class="layui-form-label"> <span
class="x-red">*</span>部门电话
</label>
<div class="layui-input-inline">
<input type="text" id="d_tel" autocomplete="off" value="${department.departmentTel}"
class="layui-input" maxlength="11">
</div>
</div>
<div class="layui-form-item">
<label for="d_desc" class="layui-form-label"> <span
class="x-red">*</span>部门描述
</label>
<div class="layui-input-inline">
<input type="text" id="d_desc" autocomplete="off" value="${department.departmentDesc}"
class="layui-input">
</div>
<!-- <div class="layui-form-mid layui-word-aux">输入真实姓名</div> -->
</div>
<div class="layui-form-item">
<label for="d_ger" class="layui-form-label"> <span
class="x-red">*</span>主管领导
</label>
<div class="layui-input-inline">
<input type="text" id="d_ger" autocomplete="off" value="${department.departmentGer}"
class="layui-input">
</div>
<!-- <div class="layui-form-mid layui-word-aux"></div> -->
</div>
<div class="layui-form-item">
<label for="d_type" class="layui-form-label"> <span
class="x-red">*</span>部门领导
</label>
<div class="layui-input-inline">
<input type="text" id="d_type" autocomplete="off" value="${department.departmentType}"
class="layui-input">
</div>
<div class="layui-form-item">
<label for="L_repass" class="layui-form-label"> </label>
<button class="layui-btn" type="button" onclick="updatedepartment()">
修改</button>
</div>
</form>
</div>
<script>
layui.use('laydate', function() {
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem : '#L_entry' //指定元素
});
});
function updatedepartment(){
layer.alert("修改成功", {
icon : 6
}, function() {
/* //提交信息……
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index); */
var departmentId = $("#d_id").val();
//父id
var pId = $("#p_id").val();
//部门名称
var departmentName = $("#d_name").val();
//部门电话
var departmentTel = $("#d_tel").val();
//部门描述
var departmentDesc = $("#d_desc").val();
//主管领导
var departmentGer = $("#d_ger").val();
//部门类型
var departmentType = $("#d_type").val();
//提交信息发起异步请求。。。。。。
$.post("Department/updateDepartment.ajax", {
departmentId:departmentId,
pId : pId,
departmentName : departmentName,
departmentTel : departmentTel,
departmentDesc : departmentDesc,
departmentGer : departmentGer,
departmentType : departmentType,
},
function(result){
if (result == "updateD") {
// 获得frame索引
var index = parent.layer
.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
parent.location.reload();8
}else{
alert("修改失败!");
}
});
});
}
</script>
</body>
</html>