ssm整合-实现对数据进行增删查改

项目简介

  • (1)项目的经典模块-CRUD功能

  • (2)什么是CRUD
    CRUD:Create( 创 建 ) Retrieve(查询) Update(更新) Delete(删除)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

sql数据库的设计

create database crud;
use crud;

create table department(
	did int primary key auto_increment,
	dname varchar(20)
)
insert into department values(null,'java');
insert into department values(null,'测试');
insert into department values(null,'需求');

create table employee(
	eid int primary key auto_increment,
	ename varchar(20),
	gender varchar(20),
	did int 
)
insert into employee values(null,'jack','1',1);
insert into employee values(null,'rose','1',1);
insert into employee values(null,'tony','1',2);

在这里插入图片描述

搭建一个ssm项目

大家可以看看这个ssm项目搭建文档

测试驱动开发


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class TestDataSource {
    private static final Logger log = Logger.getLogger(TestDataSource.class.getName());
    @Qualifier("IPersonDao")
    @Autowired
    IPersonDao dao;
    @Test
    public void test01() throws SQLException {
        List<Person> data = dao.findAll();
        System.out.println(data);
    }
    @Test
    public void test02() throws SQLException {
        Person p =  new Person("hello",200.00);
        dao.save(p);
    }

}

IDepartmentService


public interface IDepartmentService {
    List<Department> findAll();

    Department saveDepartment(Department department);

    Department findDepartmentById(Integer did);

    void updateDepartmentById(Department dept);

    void deleteDepartmentById(int did);
}

DepartmentService

@Service
public class DepartmentService implements IDepartmentService {
    @Autowired
    IDepartmentDao dao;
    @Override
    public List<Department> findAll() {
        List<Department> list=dao.findAllDepartments();
        return list;
    }

    @Override
    public Department saveDepartment(Department department) {
        int id=dao.saveDepartment(department);

        return department;
    }


    public Department findDepartmentById(Integer did) {
        Department department=dao.findDepartmentById(did);

        return department;
    }

    @Override
    public void updateDepartmentById(Department dept) {
        dao.update(dept);
    }

    @Override
    public void deleteDepartmentById(int did) {
        dao.delete(did);
    }

}

IDepartmentDao

public interface IDepartmentDao {

    List<Department> findAllDepartments();

    int saveDepartment(Department department);

    Department findDepartmentById(Integer did);


    void update(Department dept);

    void delete(int did);
}

IDepartmentDao.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="com.qst.dao.IDepartmentDao">
    <select id="findAllDepartments" resultType="department">
            select * from department order by did asc;
    </select>

    <insert id="saveDepartment" parameterType="department" keyProperty="did" useGeneratedKeys="true"  >
        insert into department (dname) values(#{dname});
    </insert>

    <select id="findDepartmentById" resultType="department" parameterType="int">
            select * from department where did=#{did};
    </select>

    <update id="update" parameterType="department">
        update department set dname = #{dname} where did = #{did};
    </update>

    <delete id="delete" parameterType="int">
        delete from department where did=#{did};
    </delete>

</mapper>


Department.java

package com.qst.bean;

public class Department {
    private Integer did;
    private String dname;

    public Department() {
    }

    public Department(String dname) {
        this.dname=dname;
    }
    public Integer getDid() {
        return did;
    }

    public void setDid(Integer did) {
        this.did = did;
    }

    public String getDname() {
        return dname;
    }

    public void setDname(String dname) {
        this.dname = dname;
    }

    @Override
    public String toString() {
        return "Department{" +
                "did=" + did +
                ", dname='" + dname + '\'' +
                '}';
    }
}

前后台通信开发

经过测试驱动开发后,对所有模块进行测试后并成功后,这保证后台逻辑的正确性,就可以进行Controller包开发,即整合前的servlet开发;

前后台通信包括含ajax和不含版本,大家可以看看这个不含ajax前后端通信
使用ajax实现前后端通信

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值