SSM(Spring+SpringMVC+MyBatis)基本框架的简单举例demo

SSM的简单应用

SSM的简单应用

首先在java目录下新建包结构如下图所示,我的中间层代表了学校简写,具体视自己情况而定,但是其他的包名最好service,controller,beans和dao最好可以保持一致,方便理解。

在这里插入图片描述
新建数据库demo并建立user表,字段分别为id(int),username(varchar),password(varchar),再在表中插入几条数据,保存后进入下一步。

接下来开始编码实现查询数据,步骤如下:
(1)在beans下建立实体类,属性与数据库的相对应,并使用快捷键Alt+insert,生成每个属性对应的Getter和Setter方法,以及实体类的构造方法,重写toString方法选做,代码如下:

package com.whut.beans;

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

    public User()
    {
    }

    public User(int id, String name, String password)
    {
        this.id = id;
        this.username = name;
        this.password = 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;
    }

    @Override
    public String toString()
    {
        return "User{"+
                "id="+id+
                ",username='"+username+"'\''"+
                ",password='"+password+"'\''";
    }
}

(2)在dao下建立UserDao接口,并声明List findAllUser()方法,用于查询数据库表中的所有数据。

package com.whut.dao;
import com.whut.beans.User;
import java.util.List;

public interface UserDao
{
    List<User> findAllUser();
}

(3)在resources/mapper下新建UserMapper.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.whut.dao.UserDao">
    <select id="findAllUser" resultType="com.whut.beans.User">
        select * from user
    </select>
</mapper>

这段代码的意思是去用来实现UserDao接口,其中 select * from user 表示从数据库中查询所有的数据。
(4)在service下新建UserService接口,并声明List findAllUser()方法。

package com.whut.service;
import com.whut.beans.User;
import java.util.List;

public interface UserService
{
    List<User> findAllUser();
}

然后在service下新建impl包,包下面建UserServiceImpl类实现UserService接口,并实现其中的方法。

package com.whut.service.impl;

import com.whut.beans.User;
import com.whut.dao.UserDao;
import com.whut.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService
{
    @Autowired
    private UserDao userDao;
    @Override
    public List<User> findAllUser()
    {
        return userDao.findAllUser();
    }
}

其中,userDao对象上添加了@Autowired注解,表示这个对象由spring容器生成,实现spring的Ioc(控制反转)特性,在List findAllUser()中返回了查询结果。

(5)在controller下新建UserController类,并声明编写ModelAndView findAllUser()方法,其中ModelAndView类是spring中的类,用于与页面进行数据交互。

package com.whut.controller;

import com.whut.beans.User;
import com.whut.service.UserService;
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 UserController
{
    @Autowired
    private UserService userService;

    @RequestMapping("/findAllUser.do")
    public ModelAndView findAllUser()
    {
        List<User> userList = userService.findAllUser();
        ModelAndView mv=new ModelAndView();
        mv.addObject("userList",userList);
        mv.setViewName("user-list");
        return mv;
    }
}

注意到@Controller注解表示这属于控制层,@RequestMapping(“user”)注解表示这是user实体的操作访问路径,@RequestMapping("/findAllUser.do")注解表示查询操作的访问路径。先调用userService中方法返回查询结果,再添加到ModelAndView的对象mv中,通过mv返回给前端页面。

(6)编写前端页面,接收数据并使用JSTL标签进行展示,最中结果如下所示。
在这里插入图片描述
(7)按照上述流程,逐渐实现增删查改登录等功能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值