基于SSM框架完成数据查询和更新操作

本文详细介绍了SSM框架的搭建步骤,包括数据库准备、用maven创建项目、导包、创建MVC目录结构、编写bean层和dao层、配置Spring与Mybatis整合、编写Mapper、Service层、配置SpringMVC和web.xml,以及编写controller层等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSM搭建步骤:

1.数据库准备,这里使用的依旧是之前建立的基本数据表
在这里插入图片描述
2.用maven创建项目
3.导包:SSM所有包
4.创建目录结构 MVC
   M:Model
   V:View
   C:Controller
目录结构 :bean/model/entity实体
Dao接口,与数据库直接交互
Service业务逻辑层:接口和实现类,Service里的接口方法和Dao中完全一样
Controller控制器:接收前端传递的参数进行处理 (SpringMVC)
这部分内容在上一篇文章中已经详细介绍了,可以直接去看,附上链接:(https://blog.youkuaiyun.com/Jingjingjng0504/article/details/95961147)
5.编写 bean 层和 dao 层
bean层代码同上一篇文章,dao层代码有所增加,下面是dao层代码

package com.zhongruan.dao;

import com.zhongruan.bean.UserInfo;

import java.util.List;

/**
 * UserDao - 数据库交互曾
 */
public interface UserDao {
    //全部查询
    List<UserInfo> findAll();

    //更新前的查询
    UserInfo findUserById(int id);

    //更新
    void updUserById(UserInfo userInfo);
}

6.配置Spring+Mybatis整合(代替Dao的实现层,UserMapper就是Dao层的实现层
7.编写Mapper
UserMapper.xml文件源代码

<?xml version="1.0" encoding="UTF-8" ?>
<!--查询全部-->
<select id="findAll" resultType="com.zhongruan.bean.UserInfo">
    select * from tb_user;
</select>

<!--更新前的查询操作-->
<select id="findUserById" parameterType="java.lang.Integer" resultType="com.zhongruan.bean.UserInfo">
    select * from tb_user where id=#{id}
</select>

<!--更新-->
<update id="updUserById" parameterType="com.zhongruan.bean.UserInfo">
    update tb_user set username=#{username},password=#{password} where id=#{id}
</update>

8.编写Service层
UserInfoService类代码:

package com.zhongruan.service;

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface UserInfoService {

//全部查询
List<UserInfo> findAll();

//更新前的查询
UserInfo findUserById(int id);

//更新
void updUserById(UserInfo userInfo);

}

UserInfoServiceImpl实现类代码:

package com.zhongruan.service.impl;

import com.zhongruan.bean.UserInfo;
import com.zhongruan.dao.UserDao;
import com.zhongruan.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserInfoServiceImpl implements UserInfoService {

    @Autowired
    private UserDao userDao;

    @Override
    public List<UserInfo> findAll() {
        return userDao.findAll();
    }

    @Override
    public UserInfo findUserById(int id) {
        return userDao.findUserById(id);
    }

    @Override
    public void updUserById(UserInfo userInfo) {
        userDao.updUserById(userInfo);
    }
}

9.配置SpringMVC和web.xml,引入jsp页面
 10.controller层;所有需要返回到页面的,都需要ModelAndView这个对象
  UserInfoController类代码:

package com.zhongruan.controller;


import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("/user")
public class UserInfoController {

    @Autowired
    private UserInfoService userInfoService;

    @RequestMapping("findAll.do")
    public ModelAndView findAll(){
        List<UserInfo> userInfoList = userInfoService.findAll();
        ModelAndView mv = new ModelAndView();
        mv.addObject("userInfoList",userInfoList);
        mv.setViewName("user-list");
        return mv;
    }

    @RequestMapping("/findUserById.do")
    public ModelAndView findUserById(int id){
        UserInfo userInfo = userInfoService.findUserById(id);
        ModelAndView mv = new ModelAndView();
        mv.addObject("userInfo",userInfo);
        mv.setViewName("user-update");
        return mv;
    }

    //更新
    @RequestMapping("/updUserById.do")
    public String updUserById(UserInfo userInfo){
        userInfoService.updUserById(userInfo);
        return "redirect:findAll.do";
    }

}

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值