使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)

使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)

废话不多说,先给心急的伙伴把全部代码附上:
先说楼主电脑软件配置:idea2018;MySQL5.5.58(不同的可能需要修改代码中驱动和jar包,楼主会出一期MySQL卸载教材,安装教材可以参考上一期;maven3.0)

再说一下,请心急的小伙伴先按照我上一期的内容一步步搭好层次结构:
上一期的连接附上:https://mp.csdn.net/mdeditor/93917511#
层次如图:
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第1张图片
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第2张图片
ok,现在代码奉上:Userinfo类:

package com.zhongruan.bean;

public class Userinfo {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

UserController类:

package com.zhongruan.controller;

import com.zhongruan.bean.Userinfo;
import com.zhongruan.service.IUserService;
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 org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("user")//网页地址导航1
public class UserController {
    @Autowired
    private IUserService userService;
    @RequestMapping("/findAll.do")//网页导航2
    public ModelAndView findAll(){
        List userinfos = userService.findAll ();
        ModelAndView modelAndView=new ModelAndView ();
        modelAndView.addObject ("ui",userinfos);
        modelAndView.setViewName ("allUser");
        return modelAndView;
    }
    @RequestMapping("toAddUser.do")
    public String addUser(Userinfo userinfo)
    {
        return "addUser";//返回字符串,等于导航到addUser.jsp
    }

    @RequestMapping("delete.do")
    public String delete(int id)
    {
        userService.deleteUser (id);
        return "redirect:/user/findAll.do";
    }

  @RequestMapping("deleteUser")
   public String deleteUser(int id)
   {
       userService.deleteUser (id);
       return "redirect:/user/findAll.do";
   }

   @RequestMapping("toUpdate.do")
   public String update(Model model,int id)
   {
       model.addAttribute("userInfo", userService.queryById(id));
       return "updateUser";
   }

   @RequestMapping("update.do")
   public String updateUser( Model model,Userinfo userinfo)
   {
       userService.updateUser (userinfo);
       userinfo=userService.queryById (userinfo.getId ());
       model.addAttribute ("userInfo",userinfo);

       return "redirect:/user/findAll.do";
   }

   @RequestMapping("save.do")
    public String save(Userinfo userinfo)
   {
       userService.addUser (userinfo);   //执行相关操作,这里数据库的insert操作
       return "redirect:/user/findAll.do";//点击保存,跳到find All.do执行
   }
}

IUserDao类:

    package com.zhongruan.dao;
    
    import com.zhongruan.bean.Userinfo;
    import org.springframework.web.servlet.ModelAndView;
    
    import java.util.List;
    
    public interface IUserDao {
        public List findAll();
    
        public Userinfo addUser(Userinfo userinfo);
    
        public void deleteUser(int id);//只能void,因为没有resultType:指定返回值类型//parameterType:是值函数的传参
    
        public void updateUser(Userinfo userinfo);//每一个dao函数都和UserMapper.xml中的一个
select * from userinfo




 

 
  update userinfo set username=#{username},password=#{password}
  where id=#{id}
 

 



其他的在前一篇的素材中。现在给大家看看实现结果(都是学生我懂得):
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第3张图片
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第4张图片
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第5张图片
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第6张图片
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第7张图片
使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)_第8张图片
基本上就实现了简单增删改查了。马上进入解惑环节:心急的小伙伴可以先收藏下次有空再看哦。
1.层次结构看上去很复杂,框架啥的不懂咋办?
答:层次虽然对于新手很复杂,却是企业开发项目开发的正式结构,希望大家可以提前掌握,用处很多,也有利于找bug和锻炼自己的思维模式。
框架是很难,但是不慌,会用即可,目前先大致了解一下,之后我们再深度学习。
2.上面项目的层次调用是啥啊?就看一堆名字差不多的类?看不懂鸭?
答:层次结构是:

  • 1.Userinfo是对象的类;
    2.IUserService是一个接口;
    3.UserServiceimpl是上面接口的实现,在里面调用IUserDao
    4.IUserDao是接口,里面的函数与UserMapper一一对应;
    5.UserController中实现功能,他有一个UserService对象,然后递归调用方法直到数据库,即可;注意页面的跳转。
    3.页面咋跳转的啊?
    答:通过在UserController中的有些函数的return来实现,比如return"allUser";来跳转到allUser.jsp所对应的页面。
    4.那些标签@啥意思啊,看不懂UserControlle中函数的跳转和返回?
    答:

    @RequestMapping(“user”)//网页地址导航函数
    return “redirect:/user/findAll.do”;//跳转user标签下的findAll.do。

你可能感兴趣的:(ssm框架,源码解释,web开发,jdbc,mysql,书籍管理网站,web,mvc)