1、项目结构如下
2、编辑pom.xml文件配置依赖
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0modelVersion> 6 7 <groupId>comgroupId> 8 <artifactId>ssm_xml_page_ajax_day47artifactId> 9 <version>1.0-SNAPSHOTversion> 10 <packaging>warpackaging> 11 12 <name>ssm_xml_page_ajax_day47 Maven Webappname> 13 14 <url>http://www.example.comurl> 15 16 <properties> 17 <project.build.sourceEncoding>UTF-8project.build.sourceEncoding> 18 <maven.compiler.source>1.7maven.compiler.source> 19 <maven.compiler.target>1.7maven.compiler.target> 20 properties> 21 22 <dependencies> 23 <dependency> 24 <groupId>junitgroupId> 25 <artifactId>junitartifactId> 26 <version>4.12version> 27 dependency> 28 29 30 31 <dependency> 32 <groupId>org.springframeworkgroupId> 33 <artifactId>spring-beansartifactId> 34 <version>4.3.6.RELEASEversion> 35 dependency> 36 37 38 39 <dependency> 40 <groupId>org.springframeworkgroupId> 41 <artifactId>spring-contextartifactId> 42 <version>4.3.6.RELEASEversion> 43 dependency> 44 45 46 47 <dependency> 48 <groupId>org.springframeworkgroupId> 49 <artifactId>spring-coreartifactId> 50 <version>4.3.6.RELEASEversion> 51 dependency> 52 53 54 55 <dependency> 56 <groupId>org.springframeworkgroupId> 57 <artifactId>spring-expressionartifactId> 58 <version>4.3.6.RELEASEversion> 59 dependency> 60 61 62 63 <dependency> 64 <groupId>org.springframeworkgroupId> 65 <artifactId>spring-aopartifactId> 66 <version>4.3.6.RELEASEversion> 67 dependency> 68 69 70 71 <dependency> 72 <groupId>aopalliancegroupId> 73 <artifactId>aopallianceartifactId> 74 <version>1.0version> 75 dependency> 76 77 78 79 <dependency> 80 <groupId>org.aspectjgroupId> 81 <artifactId>aspectjweaverartifactId> 82 <version>1.8.10version> 83 dependency> 84 85 86 87 <dependency> 88 <groupId>log4jgroupId> 89 <artifactId>log4jartifactId> 90 <version>1.2.17version> 91 dependency> 92 93 94 95 <dependency> 96 <groupId>commons-logginggroupId> 97 <artifactId>commons-loggingartifactId> 98 <version>1.2version> 99 dependency> 100 101 102 103 <dependency> 104 <groupId>org.springframeworkgroupId> 105 <artifactId>spring-jdbcartifactId> 106 <version>4.3.6.RELEASEversion> 107 dependency> 108 109 110 111 <dependency> 112 <groupId>org.springframeworkgroupId> 113 <artifactId>spring-ormartifactId> 114 <version>4.3.6.RELEASEversion> 115 dependency> 116 117 118 119 <dependency> 120 <groupId>org.springframeworkgroupId> 121 <artifactId>spring-txartifactId> 122 <version>4.3.6.RELEASEversion> 123 dependency> 124 125 126 127 <dependency> 128 <groupId>org.springframeworkgroupId> 129 <artifactId>spring-webartifactId> 130 <version>4.3.6.RELEASEversion> 131 dependency> 132 133 134 135 <dependency> 136 <groupId>org.springframeworkgroupId> 137 <artifactId>spring-webmvcartifactId> 138 <version>4.3.6.RELEASEversion> 139 dependency> 140 141 142 143 <dependency> 144 <groupId>org.mybatisgroupId> 145 <artifactId>mybatisartifactId> 146 <version>3.4.6version> 147 dependency> 148 149 150 151 <dependency> 152 <groupId>mysqlgroupId> 153 <artifactId>mysql-connector-javaartifactId> 154 <version>5.1.38version> 155 dependency> 156 157 158 159 <dependency> 160 <groupId>org.mybatisgroupId> 161 <artifactId>mybatis-springartifactId> 162 <version>1.3.2version> 163 dependency> 164 165 166 <dependency> 167 <groupId>javax.servletgroupId> 168 <artifactId>javax.servlet-apiartifactId> 169 <version>3.1.0version> 170 dependency> 171 172 173 <dependency> 174 <groupId>javax.servletgroupId> 175 <artifactId>jstlartifactId> 176 <version>1.2version> 177 dependency> 178 179 180 181 <dependency> 182 <groupId>taglibsgroupId> 183 <artifactId>standardartifactId> 184 <version>1.1.2version> 185 dependency> 186 187 188 189 <dependency> 190 <groupId>commons-iogroupId> 191 <artifactId>commons-ioartifactId> 192 <version>2.4version> 193 dependency> 194 195 <dependency> 196 <groupId>commons-fileuploadgroupId> 197 <artifactId>commons-fileuploadartifactId> 198 <version>1.3.3version> 199 dependency> 200 201 202 <dependency> 203 <groupId>com.fasterxml.jackson.coregroupId> 204 <artifactId>jackson-databindartifactId> 205 <version>2.9.6version> 206 dependency> 207 208 <dependency> 209 <groupId>com.fasterxml.jackson.coregroupId> 210 <artifactId>jackson-coreartifactId> 211 <version>2.9.6version> 212 dependency> 213 214 <dependency> 215 <groupId>com.fasterxml.jackson.coregroupId> 216 <artifactId>jackson-annotationsartifactId> 217 <version>2.9.6version> 218 dependency> 219 220 221 <dependency> 222 <groupId>com.github.pagehelpergroupId> 223 <artifactId>pagehelperartifactId> 224 <version>4.1.6version> 225 dependency> 226 dependencies> 227 228 project>
pom.xml
3、在java目录下的com.pojo包下创建Dept.java和Emp.java持久化类
1 package com.pojo;
2 import org.springframework.stereotype.Component;
3
4 import java.io.Serializable;
5 import java.util.List;
6 /**
7 * 一方引用多方list集合
8 */
9 @Component
10 public class Dept implements Serializable {
11 private Integer deptno ;
12 private String dname ;
13 private String loc ;
14
15 public Dept() {
16 }
17
18 public Dept(Integer deptno, String dname, String loc) {
19 this.deptno = deptno;
20 this.dname = dname;
21 this.loc = loc;
22 }
23
24 public Integer getDeptno() {
25 return deptno;
26 }
27
28 public void setDeptno(Integer deptno) {
29 this.deptno = deptno;
30 }
31
32
33 public String getDname() {
34 return dname;
35 }
36
37 public void setDname(String dname) {
38 this.dname = dname;
39 }
40
41
42 public String getLoc() {
43 return loc;
44 }
45
46 public void setLoc(String loc) {
47 this.loc = loc;
48 }
49
50 @Override
51 public String toString() {
52 return "Dept{" +
53 "deptno=" + deptno +
54 ", dname='" + dname + '\'' +
55 ", loc='" + loc + '\'' +
56 '}';
57 }
58 }
Dept.java
1 package com.pojo;
2
3 import org.springframework.stereotype.Component;
4
5 import java.io.Serializable;
6
7 /**
8 * 多方引用一方对象
9 */
10 @Component
11 public class Emp implements Serializable{
12 private Integer empno ;
13 private String ename ;
14 private String job ;
15 private Integer mgr ;
16 private String hiredate ;
17 private Double sal ;
18 private Double comm ;
19 private Dept dept;
20
21
22 public Emp() {
23 }
24
25 public Emp(Integer empno, String ename, String job, Integer mgr, String hiredate, Double sal, Double comm, Dept dept) {
26 this.empno = empno;
27 this.ename = ename;
28 this.job = job;
29 this.mgr = mgr;
30 this.hiredate = hiredate;
31 this.sal = sal;
32 this.comm = comm;
33 this.dept = dept;
34 }
35
36 public Integer getEmpno() {
37 return empno;
38 }
39
40 public void setEmpno(Integer empno) {
41 this.empno = empno;
42 }
43
44
45 public String getEname() {
46 return ename;
47 }
48
49 public void setEname(String ename) {
50 this.ename = ename;
51 }
52
53
54 public String getJob() {
55 return job;
56 }
57
58 public void setJob(String job) {
59 this.job = job;
60 }
61
62
63 public Integer getMgr() {
64 return mgr;
65 }
66
67 public void setMgr(Integer mgr) {
68 this.mgr = mgr;
69 }
70
71
72 public String getHiredate() {
73 return hiredate;
74 }
75
76 public void setHiredate(String hiredate) {
77 this.hiredate = hiredate;
78 }
79
80
81 public Double getSal() {
82 return sal;
83 }
84
85 public void setSal(Double sal) {
86 this.sal = sal;
87 }
88
89
90 public Double getComm() {
91 return comm;
92 }
93
94 public void setComm(Double comm) {
95 this.comm = comm;
96 }
97
98 public Dept getDept() {
99 return dept;
100 }
101
102 public void setDept(Dept dept) {
103 this.dept = dept;
104 }
105
106 @Override
107 public String toString() {
108 return "Emp{" +
109 "empno=" + empno +
110 ", ename='" + ename + '\'' +
111 ", job='" + job + '\'' +
112 ", mgr=" + mgr +
113 ", hiredate='" + hiredate + '\'' +
114 ", sal=" + sal +
115 ", comm=" + comm +
116 ", dept=" + dept +
117 '}';
118 }
119 }
Emp.java
4、在java目录下的com.mapper包下创建DeptMapper.java和EmpMapper.java映射接口
1 package com.mapper;
2 import com.pojo.Dept;
3 import org.springframework.stereotype.Repository;
4 import org.springframework.stereotype.Service;
5
6 import java.util.List;
7 @Repository
8 public interface DeptMapper {
9 List selectAllDept();
10 }
DeptMapper.java
1 package com.mapper;
2 import com.pojo.Emp;
3 import org.springframework.stereotype.Repository;
4
5 import java.util.List;
6 @Repository
7 public interface EmpMapper {
8 List selectEmp(Emp emp);
9 int insertEmp(Emp emp);
10 int updateEmp(Emp emp);
11 int deleteEmp(Emp emp);
12 }
EmpMapper.java
5、在resouces目录下的mapper包下创建DeptMapper.xml和EmpMapper.xml映射文件
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 3 4 5 6 <mapper namespace="com.mapper.DeptMapper"> 7 <select id="selectAllDept" resultType="Dept"> 8 select * from dept 9 select> 10 mapper>
DeptMapper.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 3 <mapper namespace="com.mapper.EmpMapper"> 4 21 22 23 24 <select id="selectEmp" resultMap="empmap" parameterType="Emp"> 25 select d.dname,d.loc,e.* from emp e,dept d where e.deptno=d.deptno 26 <if test="empno!=null"> 27 and e.empno=#{empno} 28 if> 29 <if test="ename!=null"> 30 and e.ename=#{ename} 31 if> 32 <if test="job!=null"> 33 and e.job=#{job} 34 if> 35 <if test="dept!=null and dept.deptno!=null and dept.deptno!=-1"> 36 and e.deptno=#{dept.deptno} 37 if> 38 select> 39 40 <resultMap id="empmap" type="Emp"> 41 42 <id column="EMPNO" property="empno"/> 43 <result column="ENAME" property="ename"/> 44 <result column="JOB " property="job"/> 45 <result column="MGR" property="mgr"/> 46 <result column="HIREDATE" property="hiredate"/> 47 <result column="SAL" property="sal"/> 48 <result column="COMM" property="comm"/> 49 50 51 52 53 54 <association property="dept" javaType="Dept" column="DEPTNO"> 55 56 <id column="DEPTNO" property="deptno"/> 57 <result column="DNAME" property="dname"/> 58 <result column="LOC" property="loc"/> 59 association> 60 resultMap> 61 62 <insert id="insertEmp" parameterType="Emp"> 63 INSERT INTO emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES(#{empno},#{ename},#{job},#{mgr},#{hiredate},#{sal},#{comm},#{dept.deptno}) 64 insert> 65 66 67 <update id="updateEmp" parameterType="Emp"> 68 UPDATE emp 69 <set> 70 <if test="ename!=null"> 71 ename=#{ename} , 72 if> 73 <if test="job!=null"> 74 job=#{job} , 75 if> 76 <if test="mgr!=null"> 77 mgr=#{mgr} , 78 if> 79 <if test="hiredate!=null"> 80 hiredate=#{hiredate} , 81 if> 82 <if test="sal!=null"> 83 sal=#{sal}, 84 if> 85 <if test="comm!=null"> 86 comm=#{comm}, 87 if> 88 <if test="dept!=null and dept.deptno!=null"> 89 deptno=#{dept.deptno} , 90 if> 91 set> 92 <include refid="wherecondition"/> 93 update> 94 95 <delete id="deleteEmp" parameterType="Emp"> 96 delete from emp 97 <include refid="wherecondition"/> 98 delete> 99 100 101 <sql id="wherecondition"> 102 <where> 103 <if test="empno!=null"> 104 empno=#{empno} 105 if> 106 where> 107 sql> 108 109 mapper>
EmpMapper.xml
6、在resouces目录下创建log4j.properties日志文件
1 log4j.rootLogger=DEBUG, Console
2 #Console
3 log4j.appender.Console=org.apache.log4j.ConsoleAppender
4 log4j.appender.Console.layout=org.apache.log4j.PatternLayout
5 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
6
7 log4j.logger.org.apache=INFO
8 log4j.logger.java.sql.ResultSet=INFO
9 log4j.logger.java.sql.Connection=DEBUG
10 log4j.logger.java.sql.Statement=DEBUG
11 log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.properties
7、在java目录下的com.service包下创建业务层接口和实现类
1 package com.service;
2
3 import com.pojo.Dept;
4
5 import java.util.List;
6
7 public interface DeptService {
8 List downOption();
9 }
DeptService.java
1 package com.service;
2
3 import com.mapper.DeptMapper;
4 import com.pojo.Dept;
5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Service;
7
8 import java.util.List;
9 @Service
10 public class DeptServiceImpl implements DeptService{
11 @Autowired
12 private DeptMapper deptMapper;
13
14
15 @Override
16 public List downOption() {
17 return deptMapper.selectAllDept();
18 }
19 }
DeptServiceImpl.java
1 package com.service;
2
3 import com.github.pagehelper.PageInfo;
4 import com.pojo.Emp;
5
6 import java.util.List;
7
8 public interface EmpService {
9 List show(Emp emp);
10 PageInfo showPage(Integer pageno,Integer pagesize,Emp emp);
11 int add(Emp emp);
12 int edit(Emp emp);
13 int del(Emp emp);
14 }
EmpService.java
1 package com.service;
2
3 import com.github.pagehelper.Page;
4 import com.github.pagehelper.PageHelper;
5 import com.github.pagehelper.PageInfo;
6 import com.mapper.EmpMapper;
7 import com.pojo.Emp;
8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Service;
10 import org.springframework.transaction.annotation.Transactional;
11
12 import javax.annotation.Resource;
13 import java.util.List;
14 /*
15 @Service的功能等同于代理对象在spring的xml文件中动态添加bean节点,
16 如果不指定名称,则底层代理在构建bean节点的时候id是类的第一个首字母小写
17 18 @Service(value = "empse")的功能等同于代理对象在spring的xml文件中动态添加id值为empse的bean节点
19 20 */
21 @Service
22 @Transactional
23 public class EmpServiceImpl implements EmpService {
24 /*
25 @Autowired是spring的资源包下注解,按照对象的类型进行自动注入,
26 和对象名称无关,只要类型是匹配的,代理就会在你需要的时候给你注入对象值
27 @Resource是javax包下的注解,按照对象属性名进行注入,
28 和对象名称关系密切,如果对象名称不匹配,则不能完成注入,会报错
29 总结:相比而言,使用@Resource的出错记录更大,因此我们常规选择使用@Autowired
30 */
31 @Autowired
32 private EmpMapper empMapper;
33
34 // ★★★★
35 @Override
36 public PageInfo showPage(Integer pageno, Integer pagesize, Emp emp) {
37 //封装分页参数值
38 PageHelper.startPage(pageno,pagesize);
39 //查询所有
40 List empList=empMapper.selectEmp(emp);
41 //返回根据分页集合对象再进行分页
42 return new PageInfo(empList);
43 }
44
45 @Override
46 public List show(Emp emp) {
47 return empMapper.selectEmp(emp);
48 }
49
50 @Override
51 public int add(Emp emp) {
52 return empMapper.insertEmp(emp);
53 }
54
55 @Override
56 public int edit(Emp emp) {
57 return empMapper.updateEmp(emp);
58 }
59
60 @Override
61 public int del(Emp emp) {
62 return empMapper.deleteEmp(emp);
63 }
64 }
EmpServiceImpl.java
8、在java目录下的com.controller包下创建控制类CenterController.java
1 package com.controller;
2
3 import com.github.pagehelper.PageInfo;
4 import com.pojo.Dept;
5 import com.pojo.Emp;
6 import com.service.DeptService;
7 import com.service.EmpService;
8 import org.apache.ibatis.annotations.Param;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.stereotype.Controller;
11 import org.springframework.ui.Model;
12 import org.springframework.web.bind.annotation.RequestMapping;
13 import org.springframework.web.bind.annotation.ResponseBody;
14
15 import javax.servlet.http.HttpServletRequest;
16 import javax.servlet.http.HttpServletResponse;
17 import javax.servlet.http.HttpSession;
18 import java.util.HashMap;
19 import java.util.List;
20 import java.util.Map;
21
22 @Controller
23 public class CenterController {
24 @Autowired
25 private DeptService deptService;
26
27 @Autowired
28 private EmpService empService;
29
30 /**
31 * ★★★★★ajax异步请求,
32 * 如果ajax回调时,返回多个不同类型的对象或变量,则返回值类型用Map
33 * 如果ajax回调时,只返回一个类型的对象或变量,则返回值用具体的对象或变量的类型
34 * @param pageno 分页的页码
35 * @param emp 异步请求时使用对象接受前台多个参数值,前提是ajax参数名和对象的第一层属性名一致
36 * @return ajax回调的数据结果
37 */
38 @RequestMapping("/page.do")
39 @ResponseBody
40 public PageInfo showPage(Integer pageno,Emp emp){
41 //定义map集合用来封装ajax回调的数据
42 Map map=new HashMap();
43 PageInfo pageInfo=empService.showPage(pageno,3,emp);
44 map.put("pageInfo",pageInfo);
45 return pageInfo;
46 }
47
48 @RequestMapping("/option.do")
49 public String showData(HttpSession session, Model model){
50 List deptlist=deptService.downOption();
51 session.setAttribute("deptlist",deptlist);
52 //默认跳转使用转发
53 return "main.jsp";
54 }
55
56 @RequestMapping("/info.do")
57 public String showInfo(Emp emp,Model model){
58 //根据主键编号查询只有一条数据
59 Emp emp2=empService.show(emp).get(0);
60 // 功能等同于request.setAttribute(key,value)
61 model.addAttribute("emp2",emp2);
62 //默认跳转使用转发
63 return "edit.jsp";
64 }
65 @RequestMapping("/edit.do")
66 public String edit(Emp emp){
67 //根据主键编号查询只有一条数据
68 System.out.println(empService.edit(emp)>0?"edit success":"edit fail");;
69 //使用重定向跳转
70 return "redirect:/main.jsp";
71 }
72
73 @RequestMapping("/add.do")
74 public String add(Emp emp){
75 System.out.println("add controller:"+emp);
76 //根据主键编号查询只有一条数据
77 System.out.println(empService.add(emp)>0?"add success":"add fail");;
78 //使用重定向跳转
79 return "redirect:/main.jsp";
80 }
81
82 @RequestMapping("/del.do")
83 public String del(Emp emp){
84 //根据主键编号查询只有一条数据
85 System.out.println(empService.del(emp)>0?"del success":"del fail");;
86 //使用重定向跳转
87 return "redirect:/main.jsp";
88 }
89 }
CenterController.java
9、在webapp目录下的WEB-INF文件夹下创建springmvc-servlet.xml核心配置文件,和web.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:aop="http://www.springframework.org/schema/aop" 5 xmlns:context="http://www.springframework.org/schema/context" 6 xmlns:tx="http://www.springframework.org/schema/tx" 7 xmlns:mvc="http://www.springframework.org/schema/mvc" 8 xsi:schemaLocation="http://www.springframework.org/schema/beans 9 http://www.springframework.org/schema/beans/spring-beans.xsd 10 http://www.springframework.org/schema/aop 11 http://www.springframework.org/schema/aop/spring-aop.xsd 12 http://www.springframework.org/schema/context 13 http://www.springframework.org/schema/context/spring-context.xsd 14 http://www.springframework.org/schema/tx 15 http://www.springframework.org/schema/tx/spring-tx.xsd 16 http://www.springframework.org/schema/mvc 17 http://www.springframework.org/schema/mvc/spring-mvc.xsd 18 "> 19 20 <mvc:annotation-driven/> 21 22 <context:component-scan base-package="com"/> 23 24 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 25 <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 26 <property name="url" value="jdbc:mysql://localhost:3306/ar"/> 27 <property name="username" value="root"/> 28 <property name="password" value="123456"/> 29 bean> 30 31 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 32 <property name="dataSource" ref="dataSource"/> 33 bean> 34 35 <tx:annotation-driven transaction-manager="transactionManager"/> 36 37 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 38 <property name="dataSource" ref="dataSource"/> 39 <property name="typeAliasesPackage" value="com.pojo"/> 40 <property name="mapperLocations" value="classpath:mapper/.xml"/> 41 42 <property name="plugins"> 43 <array> 44 <bean class="com.github.pagehelper.PageHelper"> 45 <property name="properties" value="mysql"/> 46 bean> 47 array> 48 property> 49 bean> 50 51 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 52 <property name="basePackage" value="com.mapper"/> 53 bean> 54 beans>
springmvc-servlet.xml
1 <!DOCTYPE web-app PUBLIC 2 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 3 "http://java.sun.com/dtd/web-app_2_3.dtd" > 4 5 <web-app> 6 <filter> 7 <filter-name>Characterfilter-name> 8 <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class> 9 <init-param> 10 <param-name>encodingparam-name> 11 <param-value>UTF-8param-value> 12 init-param> 13 filter> 14 <filter-mapping> 15 <filter-name>Characterfilter-name> 16 <url-pattern>/url-pattern> 17 filter-mapping> 18 <servlet> 19 <servlet-name>springmvcservlet-name> 20 <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class> 21 servlet> 22 <servlet-mapping> 23 <servlet-name>springmvcservlet-name> 24 <url-pattern>*.dourl-pattern> 25 servlet-mapping> 26 <welcome-file-list> 27 <welcome-file>option.dowelcome-file> 28 welcome-file-list> 29 web-app>
web.xml
10、在webapp目录下创建js目录,且将jquery的库文件jquery-1.8.3.js拷贝进去
11、在webapp目录下创建main.jsp文件
1 <%<>@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 <%<>@ page contentType="text/html;charset=UTF-8" language="java" %> 3 <%<>@ page isELIgnored="false" %> 4 <html> 5 <head> 6 <title>首页title> 7 <script type="text/javascript" src="js/jquery-1.8.3.js">script> 8 <script type="text/javascript" src="js/show.js">script> 9 head> 10 <body> 11 <a href="add.jsp">添加a> 12 <p> 13 <span>部门:span> 14 <select name="dept.deptno" id="depto"> 15 <option value="-1">--请选择--option> 16 <c:forEach var="i" items="${deptlist}"> 17 <option value="${i.deptno}">${i.dname}option> 18 c:forEach> 19 select> 20 <input type="button" value="查询"> 21 p> 22 <table>table> 23 <p id="pageroot">p> 24 body> 25 html>
main.jsp
12、在webapp目录的js目录下创建show.js文件
1 $(function () {
2 //初始化查询所有
3 initData(1,-1);
4 //下拉列表条件查
5 $("[type=button]").click(function () {
6 var depto=$("#depto").val();
7 initData(1,depto);
8 });
9
10 });
11
12 function initData(pageno,deptno) {
13 $.ajax({
14 url:"page.do",
15 type:"post",
16 dataType:"json",
17 data:{"pageno":pageno,"dept.deptno":deptno},
18 async:true,
19 success:function (obj) {
20 //将值打印在控制台
21 console.log(obj);
22 //为了防止频繁发送请求重复拼接问题,因此在拼接数据之前,先清楚原有的数据内容
23 $("table").html(" ");
24 var str=" ";
25 str+=" 员工编号";
26 str+=" 员工姓名";
27 str+=" 员工工资";
28 str+=" 部门名称";
29 str+=" 操作";
30 str+=" ";
31 for(var i=0;i){
32 str+="";
33 str+=""+obj.list[i].empno +"";
34 str+=""+obj.list[i].ename +"";
35 str+=""+obj.list[i].sal +"";
36 str+=""+obj.list[i].dept.dname+"";
37 str+="" +
38 "修改" +
39 "|" +
40 "删除" +
41 "";
42 str+="";
43 }
44 $("table").append(str);
45
46 var pagestr="第"+obj.pageNum+"/"+obj.pages+"页";
47 pagestr+=" ";
48 if(pageno>1){
49 pagestr+="首页";
50 pagestr+=" ";
51 pagestr+="上一页";
52 pagestr+=" ";
53 }else{
54 pagestr+="首页";
55 pagestr+=" ";
56 pagestr+="上一页";
57 pagestr+=" ";
58 }
59 if(pageno<obj.pages){
60 pagestr+="下一页";
61 pagestr+=" ";
62 pagestr+="末页";
63 pagestr+=" ";
64 }else{
65 pagestr+="下一页";
66 pagestr+=" ";
67 pagestr+="末页";
68 pagestr+=" ";
69 }
70 pagestr+="共"+obj.total+"条";
71
72 $("#pageroot").html(pagestr);
73 },
74 error:function () {
75 alert("get data error");
76 }
77 });
78 }
79 function pageData(pageno) {
80 //获取下列列表的条件
81 var depto=$("#depto").val();
82 initData(pageno,depto);
83 }
show.js
13、在webapp目录下创建add.jsp文件
1 <%<>@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 <%<>@ page contentType="text/html;charset=UTF-8" language="java" %> 3 <%<>@ page isELIgnored="false" %> 4 <html> 5 <head> 6 <title>添加信息title> 7 head> 8 <body> 9 <fieldset> 10 <legend>添加员工信息legend> 11 <form action="add.do" method="post"> 12 <table> 13 <tr> 14 <th>部门名称:th> 15 <td> 16 <select name="dept.deptno"> 17 <option value="-1">--请选择--option> 18 <c:forEach var="i" items="${deptlist}"> 19 <option value="${i.deptno}">${i.dname}option> 20 c:forEach> 21 select> 22 td> 23 tr> 24 <tr> 25 <th>员工编号:th> 26 <td><input type="text" name="empno"/>td> 27 tr> 28 <tr> 29 <th>员工姓名:th> 30 <td><input type="text" name="ename" />td> 31 tr> 32 <tr> 33 <th>员工薪资:th> 34 <td><input type="text" name="sal" />td> 35 tr> 36 <tr> 37 <td colspan="2" align="center"> 38 <input type="submit" value="提交"/> 39 <input type="reset" value="重置"/> 40 td> 41 tr> 42 table> 43 form> 44 fieldset> 45 body> 46 html>
add.jsp
14、在webapp目录下创建edit.jsp文件
1 <%<>@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 <%<>@ page contentType="text/html;charset=UTF-8" language="java" %> 3 <%<>@ page isELIgnored="false" %> 4 <html> 5 <head> 6 <title>编辑信息title> 7 head> 8 <body> 9 <fieldset> 10 <legend>编辑员工信息legend> 11 <form action="edit.do?empno=${emp2.empno}" method="post"> 12 <table> 13 <tr> 14 <th>部门名称:th> 15 <td> 16 <select name="dept.deptno"> 17 <option value="-1">--请选择--option> 18 <c:forEach var="i" items="${deptlist}"> 19 <c:choose> 20 <c:when test="${emp2.dept.deptno eq i.deptno}"> 21 <option value="${i.deptno}" selected="selected">${i.dname}option> 22 c:when> 23 <c:otherwise> 24 <option value="${i.deptno}">${i.dname}option> 25 c:otherwise> 26 c:choose> 27 c:forEach> 28 select> 29 td> 30 tr> 31 <tr> 32 <th>员工姓名:th> 33 <td><input type="text" name="ename" value="${emp2.ename}"/>td> 34 tr> 35 <tr> 36 <th>员工薪资:th> 37 <td><input type="text" name="sal" value="${emp2.sal}"/>td> 38 tr> 39 <tr> 40 <td colspan="2" align="center"> 41 <input type="submit" value="提交"/> 42 <input type="reset" value="重置"/> 43 td> 44 tr> 45 table> 46 form> 47 fieldset> 48 49 body> 50 html>
edit.jsp
15、部署启动运行
此文章为原创,转载请注明出处!需要本案例源码,理论讲解视频,代码操作视频的,请私信联系作者!
Original: https://www.cnblogs.com/holly8/p/16623230.html
Author: 红酒人生
Title: 5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609132/
转载文章受原作者版权保护。转载请注明原作者出处!