SSH框架网上商城项目第6战之基于DataGrid的数据显示

yizhihongxing

SSH框架网上商城项目第6战之基于DataGrid的数据显示攻略

  1. 前言

DataGrid是EasyUI中极常用的组件之一,提供了方便、美观、易用的表格展示方式,因此在实际Web开发中也具有广泛的应用。

本文将向大家介绍如何基于SSH框架实现基于DataGrid的数据显示。

  1. 准备工作

在开始之前,需要准备以下内容:

  • Eclipse IDE
  • JDK 1.8
  • Tomcat 9服务器
  • MySQL数据库

  • 实现步骤

(1)新建maven项目并创建相关目录
首先,我们需要在Eclipse中新建一个Maven项目,并创建相关目录。

(2)导入项目所需要的依赖
在pom.xml文件中,添加以下三个依赖项:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.10</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>5.3.10</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>

(3)创建数据库连接
在src/main/resources目录下,创建名为jdbc.properties的文件,添加以下代码:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_name?useSSL=false
jdbc.username=root
jdbc.password=123456

(其中,db_name为你所使用的数据库名称;root为数据库用户名;123456为数据库用户密码)

(4)创建表
在MySQL数据库中创建一个名为goods_info的表,表结构如下:

 CREATE TABLE `goods_info` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `name` varchar(255) DEFAULT NULL,
   `price` double DEFAULT NULL,
   `stock` int(11) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

(5)编写model类

在项目中创建com.example.shop.entity包,在该包下创建Goods实体类,代码如下:

package com.example.shop.entity;

public class Goods {

    private int id;
    private String name;
    private double price;
    private int stock;

    // getter和setter方法省略
}

(6)编写DAO层接口和SQL语句

在项目中创建com.example.shop.dao包,在该包下创建GoodsDao接口,定义以下方法:

package com.example.shop.dao;

import java.util.List;

import com.example.shop.entity.Goods;

public interface GoodsDao {

    public List<Goods> listAllGoods();
}

并在src/main/resources/mappings目录下创建GoodsDao.xml文件,编写SQL语句:

<?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.example.shop.dao.GoodsDao">

    <resultMap id="goodsMap" type="com.example.shop.entity.Goods">
        <id property="id" column="id" />
        <result property="name" column="name" />
        <result property="price" column="price" />
        <result property="stock" column="stock" />
    </resultMap>

    <select id="listAllGoods" resultMap="goodsMap">
        select * from goods_info
    </select>

</mapper>

(7)编写Service层接口和实现类
在项目中创建com.example.shop.service包,在该包下创建GoodsService接口,定义以下方法:

package com.example.shop.service;

import java.util.List;

import com.example.shop.entity.Goods;

public interface GoodsService {

    public List<Goods> listAllGoods();
}

并在src/main/java/com/example/shop/service/impl包下创建GoodsServiceImpl实现类,实现GoodsService接口方法:

package com.example.shop.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.example.shop.dao.GoodsDao;
import com.example.shop.entity.Goods;
import com.example.shop.service.GoodsService;

@Service
@Transactional
public class GoodsServiceImpl implements GoodsService {

    @Autowired
    private GoodsDao goodsDao;

    @Override
    public List<Goods> listAllGoods() {
        return goodsDao.listAllGoods();
    }
}

(8)编写Controller层类
在项目中创建com.example.shop.controller包,在该包下创建GoodsController类,代码如下:

package com.example.shop.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.example.shop.entity.Goods;
import com.example.shop.service.GoodsService;

@Controller
@RequestMapping("/goods")
public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    @RequestMapping("/list")
    @ResponseBody
    public List<Goods> listAll() {
        return goodsService.listAllGoods();
    }
}

(9)创建jsp页面
在WebContent目录下,创建WEB-INF/views目录,创建名为list.jsp的jsp页面,代码如下:

<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>商品列表</title>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/easyui/themes/bootstrap/easyui.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/easyui/themes/icon.css">
<script type="text/javascript" src="${pageContext.request.contextPath}/easyui/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/easyui/jquery.easyui.min.js"></script>
</head>
<body>
    <table id="dg" title="商品列表" class="easyui-datagrid" style="width:100%">
        <thead>
            <tr>
                <th field="id" width="50" sortable="true">编号</th>
                <th field="name" width="50" sortable="true">名称</th>
                <th field="price" width="50" sortable="true">价格</th>
                <th field="stock" width="50" sortable="true">库存</th>
            </tr>
        </thead>
    </table>
    <script type="text/javascript">
        $(function(){
            $('#dg').datagrid({
                url:'${pageContext.request.contextPath}/goods/list',
                columns:[[
                    {field:'id',title:'编号',width:50},
                    {field:'name',title:'名称',width:50},
                    {field:'price',title:'价格',width:50},
                    {field:'stock',title:'库存',width:50},
                ]],
                pagination:true,
                rownumbers:true,
                singleSelect:true,
                striped:true
            });
        });
    </script>
</body>
</html>
  1. 示例说明

下面以两个示例说明本文的实现方法:

(1)在MySQL数据库中插入一些数据
在MySQL数据库中插入以下数据:

insert into goods_info(name,price,stock) values('iPhone X',7999.00,10);
insert into goods_info(name,price,stock) values('MacBook Pro',14999.00,5);
insert into goods_info(name,price,stock) values('iPad Pro',7099.00,8);

(2)访问jsp页面
在Tomcat服务器中启动项目,并访问以下URL:

http://localhost:8080/shop/list.jsp

可以看到在页面中正确显示了从MySQL数据库中读取的商品信息。

  1. 总结

本文介绍了基于SSH框架实现基于DataGrid的数据显示的具体步骤,包括了Maven项目搭建、数据库连接配置、Dao层、Service层、Controller层的编写,并提供了具体的示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SSH框架网上商城项目第6战之基于DataGrid的数据显示 - Python技术站

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • 在java中由类名和方法名字符串实现其调用方式

    在Java中,可以通过类名和方法名字符串来实现对方法的调用。这通常用于在运行时动态执行代码,从而实现更加灵活的程序设计。 以下是实现该过程的完整攻略: 获取类名对应的Class对象 首先需要获取类名对应的Class对象,这可以通过Class.forName()方法来实现,该方法的参数为类的全名字符串,例如: Class<?> clazz = Cl…

    Java 2023年5月27日
    00
  • 5个JAVA入门必看的经典实例

    下面我将详细讲解“5个JAVA入门必看的经典实例”的完整攻略。 1. 介绍 作为一名Java入门者,学好基础知识是必不可少的。在学习Java的过程中,掌握经典实例是非常重要的,可以帮助我们深入理解Java的基本语法和编程思想。本文总结了5个Java入门必看的经典实例,帮助初学者掌握Java编程的基本技能。 2. 经典实例1:计算圆的面积 第一个经典实例是计算…

    Java 2023年5月19日
    00
  • htm调用JS代码

    当HTML页面引入JavaScript(JS)文件并调用JS代码时,可以通过以下步骤实现: 在HTML文件中使用标签引入JS文件。在HTML中使用标签时,需要指定src属性来引入JS文件。 例如,在如下HTML页面中,通过引入“script.js”文件实现JS代码的调用: <!DOCTYPE html> <html lang="e…

    Java 2023年6月15日
    00
  • Spring rest接口中的LocalDateTime日期类型转时间戳

    当在Spring REST接口中使用LocalDateTime类型表示日期时,有时需要将其转换为时间戳格式(即Unix时间戳)。下面是一些步骤和示例,以帮助你完成这项任务: 1. 添加Joda-Time依赖 为了处理日期和时间,我们将使用Joda-Time库。要将其添加到Maven项目中,请将以下依赖项添加到pom.xml文件中: <dependenc…

    Java 2023年5月20日
    00
  • Java中try catch处理异常示例

    下面就是“Java中try catch处理异常示例”的详细讲解。 1. 什么是异常? 在Java程序运行过程中,可能会遇到一些非正常的情况,例如读取文件时文件不存在、网络连接异常等等,这些非正常的情况被称为“异常”。 Java中的异常是Throwable类及其子类的实例,可分为检查型异常和非检查型异常(也叫运行时异常)。其中,检查型异常必须显式处理,而非检查…

    Java 2023年5月28日
    00
  • jboss( WildFly)上运行 springboot程序的步骤详解

    下面是详细讲解 JBoss(WildFly)上运行Spring Boot程序的步骤: 1. 创建Spring Boot项目 首先,需要在电脑上安装JDK和Maven构建工具。接着,可以使用Spring Initializr来创建一个新的Spring Boot项目,可以参考以下步骤: 打开浏览器,进入 http://start.spring.io/ 选择相关的…

    Java 2023年5月19日
    00
  • EJB3.0开发之多对多和一对一

    下面我将为您详细讲解 EJB3.0 开发中的多对多和一对一关系的完整攻略。 EJB3.0 开发中多对多关系的实现 在 EJB3.0 开发中实现多对多关系,需要以下步骤: 定义实体类:定义要关联的两个实体类,并使用 @ManyToMany 注解来定义它们之间的关系,例如: “`java @Entity public class Teacher impleme…

    Java 2023年6月15日
    00
  • Java基础知识杂文

    Java基础知识杂文攻略 简介 Java是一门广泛应用于企业级应用软件开发的编程语言,深受开发者喜爱。本篇文章将为读者讲解Java基础知识杂文的攻略,以帮助读者更好地掌握Java编程。 步骤 步骤一:学习Java基础语法 Java基础语法包括:变量、数据类型、运算符、关键字、控制流等内容。学习Java基础语法是掌握Java编程的第一步。 示例: public…

    Java 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部