博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm搭建简单web项目实现CURD
阅读量:4839 次
发布时间:2019-06-11

本文共 10597 字,大约阅读时间需要 35 分钟。

在之前已经对spring,spring-mvc,mybatis等框架有了了解,spring整合mybatis也进行了练习,ssm框架就是这三种框架的简称,那么我们如何使用这三种框架来设计web项目呢?

今天就简单的使用ssm框架搭建web项目,实现增删改查等基本操作:

导入需要使用的依赖文件:

org.springframework
spring-web
5.1.8.RELEASE
org.springframework
spring-webmvc
5.1.8.RELEASE
org.springframework
spring-jdbc
5.1.8.RELEASE
com.alibaba
druid
1.1.10
mysql
mysql-connector-java
5.1.45
org.mybatis
mybatis-spring
2.0.2
org.mybatis
mybatis
3.4.6
org.springframework
spring-tx
5.1.8.RELEASE
jstl
jstl
1.2
javax.servlet
servlet-api
2.5
pom

创建数据库,实体;

package com.zs.entity;import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;public class Emp {    private int empno;    private String ename;    private String job;    private int deptno;    private double sal;    @DateTimeFormat(pattern = "yyyy-MM-dd")    private Date hiredate;    public Emp() {    }    public Emp(int empno, String ename, String job, int deptno, double sal, Date hiredate) {        this.empno = empno;        this.ename = ename;        this.job = job;        this.deptno = deptno;        this.sal = sal;        this.hiredate = hiredate;    }    public int getEmpno() {        return empno;    }    public void setEmpno(int empno) {        this.empno = empno;    }    public String getEname() {        return ename;    }    public void setEname(String ename) {        this.ename = ename;    }    public String getJob() {        return job;    }    public void setJob(String job) {        this.job = job;    }    public int getDeptno() {        return deptno;    }    public void setDeptno(int deptno) {        this.deptno = deptno;    }    public double getSal() {        return sal;    }    public void setSal(double sal) {        this.sal = sal;    }    public Date getHiredate() {        return hiredate;    }    public void setHiredate(Date hiredate) {        this.hiredate = hiredate;    }    @Override    public String toString() {        return "Emp{" +                "empno=" + empno +                ", ename='" + ename + '\'' +                ", job='" + job + '\'' +                ", deptno=" + deptno +                ", sal=" + sal +                ", hiredate=" + hiredate +                '}';    }}
实体类

dao层:

package com.zs.dao;import com.zs.entity.Emp;import org.apache.ibatis.annotations.Param;import java.util.List;public interface IEmpDao {    /**     * 查询员工,条件查询/所有     * @return     */    List
listEmp(@Param("empno") Integer empno); /** * 插入 * @param emp * @return */ int insertEmp(Emp emp); /** * 修改 * @param emp * @return */ int updateEmp(Emp emp); /** * 删除 * @param empno * @return */ int deleteEmp(int empno);}
dao接口

mapper文件:

insert into emp(ename,job,deptno,sal,hiredate) value(#{ename},#{job},#{deptno},#{sal},#{hiredate})
update emp set ename=#{ename},job=#{job},deptno=#{deptno},sal=#{sal},hiredate=#{hiredate} where empno=#{empno}
delete from emp where empno=#{empno}
mapper

以上的文件都可以采用mybatis插件自动生成

service接口及实现类

package com.zs.service;import com.zs.entity.Emp;import org.springframework.stereotype.Service;import java.util.List;public interface EmpService {    /**     * 查询所有     * @return     */    List
listEmp(Integer empno); /** * 插入 * @param emp * @return */ boolean insertEmp(Emp emp); /** * 修改 * @param emp * @return */ boolean updateEmp(Emp emp); /** * 删除 * @param empno * @return */ boolean deleteEmp(int empno);}
service接口
package com.zs.service;import com.zs.dao.IEmpDao;import com.zs.entity.Emp;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;@Servicepublic class EmpServiceImpl implements EmpService {    @Autowired    private IEmpDao empDao;    @Override    public List
listEmp(Integer empno) { return empDao.listEmp(empno); } @Override public boolean insertEmp(Emp emp) { return empDao.insertEmp(emp)>0; } @Override public boolean updateEmp(Emp emp) { return empDao.updateEmp(emp)>0; } @Override public boolean deleteEmp(int empno) { return empDao.deleteEmp(empno) > 0; }}
实现类

控制器:

package com.zs.controller;import com.zs.entity.Emp;import com.zs.service.EmpService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;@Controllerpublic class EmpController {    @Autowired    private EmpService empService;    @RequestMapping("/list.action")    private String show(Model model) {        List
emps = empService.listEmp(null); model.addAttribute("emps", emps); return "listEmp"; } @RequestMapping("/insert.action") private String insert(Emp emp) { boolean b = empService.insertEmp(emp); return "redirect:/list.action"; } @RequestMapping("/getEmp.action") public String getByEmpno(int empno,Model model) { List
emps = empService.listEmp(empno); model.addAttribute("emp", emps.get(0)); return "update"; } @RequestMapping("/update.action") private String update(Emp emp) { boolean b = empService.updateEmp(emp); return "redirect:/list.action"; } @RequestMapping("/delete.action") private String delete(int empno) { boolean b = empService.deleteEmp(empno); return "redirect:/list.action"; } @RequestMapping("/add.action") public String insert() { return "insert"; }}
controller

配置文件:

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:///test?characterEncoding=utf-8jdbc.username=rootjdbc.password=123456
applicationContext
spring-mvc
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:applicationContext.xml
spring-mvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
spring-mvc
*.action
CharacterEncoding
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
CharacterEncoding
/*
web.xml

页面:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="fm" uri="http://java.sun.com/jsp/jstl/fmt" %><%--  Created by IntelliJ IDEA.  User: Administrator  Date: 2019/8/7  Time: 15:58  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>    Title
编号 姓名 工作 部门 工资 入职日期 操作
${i.count} ${emp.ename} ${emp.job} ${emp.deptno} ${emp.sal}
修改 删除 插入
View Code
<%@ taglib prefix="fm" uri="http://java.sun.com/jsp/jstl/fmt" %><%--  Created by IntelliJ IDEA.  User: Administrator  Date: 2019/8/7  Time: 16:32  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>    Title
姓名
工作
部门
工资
入职日期
" name="hiredate"/>
View Code

运行tomcat测试

 

转载于:https://www.cnblogs.com/Zs-book1/p/11316536.html

你可能感兴趣的文章
Oracle 日期查询
查看>>
python diango学习笔记一
查看>>
ActiveMQ
查看>>
linux下实现nginx安装实现端口区分,域名区分
查看>>
CentOS7.2环境下安装Nginx
查看>>
MFC动态创建控件及其消息响应函数
查看>>
团队作业_1_博客1(分工理解)
查看>>
mybatis 一对多和一对一写法注意事项
查看>>
三、使用vscode在docker中debug
查看>>
设计模式之 面向对象的养猪厂的故事,C#演示(一)
查看>>
分页及字母筛选
查看>>
Expressions are not allowed at the top level
查看>>
非程序员的GNU Emacs使用心得......Shell Mode 第13集 把我的 kill-ring 还给我
查看>>
15.C#回顾及匿名类型(八章8.1-8.5)
查看>>
应用间共享数据方法(一)---sharepreferce
查看>>
傅盛:如何快慢“炼”金山?(转)
查看>>
模拟——作业调度方案
查看>>
node——module.exports
查看>>
爬虫简单实现
查看>>
sql查询语句如何执行
查看>>