JAVA SSM框架

发布于 2022-12-03  136 次阅读


SSM环境配置

暂时跳过...

SSM

po类:创建变量

Dao类(接口):创建类型来接查询的值

Controller:把查询到结果赋值到创建的类型中,然后跳转相应界面

.xml文件:配置文件,负责告诉程序去哪里找相应的目标

我们需要查询数据内的这些数据

先写po类

(说一个小技巧)

在idea右边如图下箭头所示

点击数据库,然后弹出如下图所示窗口

点击加号

选择mysql

输入数据库的账号 密码

如果是远程数据库则把地址也写上

最后点击Test Connerction测试看是否能连接上

成功之后,就可以再右边查看表内的属性,就不必总是再去数据库看了

po类

回到正题,在po类中写需要用到的变量

这样需要用到的变量就写好了。

生成一下get、set和to string

这时候po类就写好了

package com.po;

public class Novel {
    private String   id;
    private String name;
    private String author;
    private String price;

    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "Novel{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", price='" + price + '\'' +
                '}';
    }
}

Dao接口

在Com.dao下新建一个NovelDao接口

在接口写个List用List来接查到查数据

package com.Dao;

import com.po.Novel;

import java.util.List;

public interface NovelDap {
    //查询所有
    List<Novel> queryNovelList();
}

mapper

然后写完接口到com.mapper下新建一个NovelDaoMapper.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.Dao.NovelDap">
        <select id="queryNovelList" resultType="com.Dao.NovelDap">
            select * from novel
        </select>
    </mapper>

或者

把mybatis-config.xml复制一份到mapper目录下重命名为NovelDaoMapper.xml

把红色框框标的几处修改成mapper,然后把蓝色框框处删掉,然后写上<mapper></mapper>

然后剩下的补全

修改mybatis-config.xml

然后去到mybatis-config.xml

把NovelDaoMapper.xml加进去

代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <mappers>
        <mapper resource="com/mapper/NovelDaoMapper.xml"/>
    </mappers>


</configuration>

Controller

在com.controller内新建一个NovelController类

写入以下代码

package com.Controller;

import com.Dao.NovelDao;
import com.po.Novel;
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;

@Controller
public class NovelController {
    @Autowired
    private NovelDao novelDao;
    @RequestMapping("/novel")
    public String queryAllNovel(Model model){
        //查询
        List<Novel> novels = novelDao.queryNovelList();
        for (Novel novel : novels) {
            System.out.println(novel);
        }
        model.addAttribute("novels",novels);
        return "NovelList";//如果springmvc-servlet.xml中没有配置前缀后缀则需要写全路径
    }
}

JSP

最后去web-inf目录下,新建一个NovelList.jsp,然后遍历出数据

代码如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: misaki
  Date: 2022/12/3
  Time: 20:11
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
        <table>
            <c:forEach items="${novels}" var="novel">
                <tr>
                    <td>${novel.id}</td>
                    <td>${novel.name}</td>
                    <td>${novel.author}</td>
                    <td>${novel.price}</td>
                </tr>
            </c:forEach>
        </table>
</body>
</html>

最后运行一下,没有问题就能输出结果了。