5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

1、项目结构如下

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

2、编辑pom.xml文件配置依赖

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
  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持久化类

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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映射接口

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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映射文件

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
 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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
  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日志文件

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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包下创建业务层接口和实现类

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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文件

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
 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

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
 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文件

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
 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文件

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
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文件

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
 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文件

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven
 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、部署启动运行

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

此文章为原创,转载请注明出处!需要本案例源码,理论讲解视频,代码操作视频的,请私信联系作者!

Original: https://www.cnblogs.com/holly8/p/16623230.html
Author: 红酒人生
Title: 5、spring+SpringMVC+MyBatis+PageHelper+ajax+idea+maven

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609132/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java操作JDBC实现增删改查工具类

    删除语句 package com;​import com.sun.xml.internal.bind.v2.model.core.ID;import com.util.jdbcut…

    Java 2023年6月7日
    097
  • CORS(跨域资源共享)笔记

    0.前言 CORS(Cross-Origin Resource Sharing)是一个用于处理跨域问题的W3C标准,本文将介绍什么是跨域,引起跨域的同源策略,什么是CORS,COR…

    Java 2023年6月9日
    090
  • 基于MybatisPlus代码生成器(2.0新版本)

    一、模块简介 1、功能亮点 实时读取库表结构元数据信息,比如表名、字段名、字段类型、注释等,选中修改后的表,点击 &#x4E00;&#x952E;&#x75…

    Java 2023年6月6日
    094
  • .Net Core 钉钉自定义机器人接入

    接入步骤 获取自定义机器人Webhook 1.选择需要添加机器人的群聊,然后依次单击群设置 > 智能群助手。 2.在机器人管理页面选择自定义机器人,输入机器人名字并选择要发送…

    Java 2023年6月8日
    087
  • Java避坑宝典《Java业务开发常见错误100例》上线了

    写这个专栏的缘起 之前我写过一篇博客:《朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑》,引起的关注还是挺多的。后来和极客时间的编辑一拍即合决定以这个为题写一个专栏…

    Java 2023年5月29日
    092
  • Java 7 实现代码的即改即用

    import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedReader;impor…

    Java 2023年5月29日
    0152
  • LeetCode剑指Offer刷题总结(三)

    合并两个排序链表25 本题思路非常简单,两个链表元素依次比较,压入新链表即可,但有易错点。 public ListNode mergeTwoLists(ListNode l1, L…

    Java 2023年6月7日
    085
  • java-抽象类笔记

    抽象方法 使用 abstract 修饰的方法, 没有方法体,只有声明。 定义的是一种”规范”, 就是告诉子类必须要给抽象方法提供具体的实现。 抽象类 包含 …

    Java 2023年6月15日
    060
  • CDH6.3.2升级Hive到4.0.0

    升级目的:为上层开发,提供统一元数据服务并能通过hive操作kudu表,kylin可以通过hive对在kudu中的数据做分析 面临问题:hive4.0之前hive没有KuduSto…

    Java 2023年6月6日
    085
  • SpringCloud : Feign 不捆绑远程应用名称, 实现服务应用名称传入,调用通用自动化

    Feign 版本10.1.0 Spring 版本 5.1.5.RELEASE SpringBoot 版本 2.1.5.RELEASE SpringCloud 版本 2.1.1.RE…

    Java 2023年5月30日
    084
  • 面向对象编程-基础

    面向对象是一种”建模思想” 把现实中的各种事物”虚拟化到程序中”(定义类就是一种封装) 类:对现实生活中一类具有共同属性和行为的事物…

    Java 2023年6月8日
    075
  • HTML基本标签

    1.文件开始标签 用于表示该文件是以 &#x8D85;&#x6587;&#x672C;&#x6807;&#x8BC6;&#x8BED…

    Java 2023年6月5日
    091
  • OO第四单元&课程总总结

    OO第四单元&课程总总结 时刻提醒自己不能跑题完结撒花 OO第四单元&课程总总结 架构介绍 + 类图 顺序图 状态图 关于算法 设计思维 与 OO理解演进 封装与解…

    Java 2023年6月13日
    080
  • 初识WSGI接口

    WSGI全称为 Web Server Gateway Interface,WSGI允许web框架和web服务器分开,可以混合匹配web服务器和web框架,选择一个适合的配对。比如,…

    Java 2023年6月7日
    074
  • linux部署jar包脚本和注册开机启动

    前言 之前开发了windows部署jar包为服务的工具在实际生产环境中使用非常简单方便,公司部分项目是部署在linux系统中的,所以决定整合一个通用的jar包部署脚本,并注册为开机…

    Java 2023年6月15日
    075
  • java8特性

    Lambda表达式 lambda表达式:本质就是一个函数式接口的实例对象。 语法: lambda&#x5F62;&#x53C2;&#x5217;&#…

    Java 2023年6月15日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球