博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm搭建简单web项目实现CURD
阅读量:4840 次
发布时间: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

你可能感兴趣的文章
android 开发 View _13 绘制图片与BitmapShader位图的图像渲染器
查看>>
[bzoj2131]免费的馅饼 树状数组优化dp
查看>>
CreateMutex()参数报错问题
查看>>
Linux三剑客-常用命令
查看>>
Excel的列数以数字格式查看
查看>>
unity 2d 和 NGUI layer
查看>>
Sublime Text shift+ctrl妙用、Sublime Text快捷组合键大全
查看>>
spring security中当前用户信息
查看>>
[中国寒龙出品]VB程序设计视频第十四课,更多请关注我们的官博。
查看>>
LinuxMint 17.1 Cinnamon桌面窗口焦点bug
查看>>
PHP函数
查看>>
缩点 CF893C Rumor
查看>>
Spring详解篇之 AOP面向切面编程
查看>>
COMP0037 Coursework
查看>>
Spring Framework 5.x 学习专栏
查看>>
Linux 磁盘挂载和mount共享
查看>>
云计算开发教程,云计算能干什么?
查看>>
利用”+“、”-“JS字符串类型与数字类型转换
查看>>
【剑指offer面试题4】替换空格%20和清除空格
查看>>
【AtCoder】AGC032
查看>>