【JSP篇】——cookie之商品浏览记录的实现:2.数据库的设计,商品实体类以及数据库连接的工具类的实现

本文介绍了如何在JavaEE项目中实现商品浏览记录功能,包括MySQL数据库的设计,创建名为`good`的表,字段包括商品ID、名称、价格等。接着,定义了商品实体类Good,用于映射数据库中的记录,并提供了getter和setter方法。最后,通过单例模式的DBHelper工具类实现数据库连接。后续章节将展示如何实现具体功能。
摘要由CSDN通过智能技术生成

                                                                                     学习上一节:1.项目介绍和需求分析

                                                                                     学习下一节:3.显示当前所有商品

1.功能说明

    在这一部分中,我们先将数据库相关的地方设计好,分别是mysql数据库的内容,数据库中对应的商品实体类(JavaBean),以及我们连接的数据库工具类DBHelper。

2.MySQL数据库

   使用navicat建立数据库:goods_database,然后建立表:good,在这里送上good的sql脚本

/*
Navicat MySQL Data Transfer

Source Server         : Local
Source Server Version : 50720
Source Host           : localhost:3306
Source Database       : goods_database

Target Server Type    : MYSQL
Target Server Version : 50720
File Encoding         : 65001

Date: 2018-04-20 18:00:16
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for good
-- ----------------------------
DROP TABLE IF EXISTS `good`;
CREATE TABLE `good` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT NULL,
  `image` varchar(255) DEFAULT NULL,
  `infor` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of good
-- ----------------------------
INSERT INTO `good` VALUES ('1', '老王笔记本', '2888.00', '1.gif', '感人的联想笔记本电脑广告,1000人看了,至少999会哭.搭载第八代英特尔酷睿i5处理器. 八代酷睿TM, 让电脑更快,更薄,更乐!抢购上京东!处理器及MX150显卡双满血,100% sRGB高色域屏,Turbo Drive固态硬盘,超强性能,一战到底');
INSERT INTO `good` VALUES ('2', '超轻超长山寨机', '520.00', '2.gif', ' 眼界大开。联合设计。4000万像素徕卡三镜头,AI摄影大师,暗光更出色。');
INSERT INTO `good` VALUES ('3', '某牌照相机', '1000.00', '3.gif', '咔嚓卡擦擦,拍照选我就对了,看在我这么便宜的份上~');
INSERT INTO `good` VALUES ('4', '华丽丽手机', '250.00', '4.jpg', '相比于楼上的山寨机,我们一直被模仿,从未被超越!!!');
INSERT INTO `good` VALUES ('5', '大哥大', '100.00', '5.jpg', '砸核桃,开锁,敲人一应俱全,为您提供人生保障~');
INSERT INTO `good` VALUES ('6', '最脆弱的U盘', '20.00', '6.jpg', '别被我华丽丽的外表蒙蔽了,其实我是纸做的。。。');

然后介绍一下我们的good表中的字段:


其中,id,name,price,infor就不多介绍了,这里的image保存的是我们在工程中WebRoot->image这个文件夹下面图片名字。其实呢,保存的是一个路径,当我们访问的时候,其实就通过路径访问该资源,然后显示出来。

                                              

3.商品实体类(模型层)

    我们用一个类来保存我们数据库中对应的表。new这个类的对象就相当于数据库中的一条记录,具体是哪个记录,我们可以通过set,get方法来实现。总而言之,我们为了简便,每次从数据库中获得的内容将其保存到我们的实体类中,到时候用的时候可以直接get。废话不多说了,接下来是我们Good.java商品实体类的代码:

package com.model;

//商品实体类,对应数据库中的表goods
public class Good {
	private int id;
	private String name;
	private double price;
	private String image;
	private String infor;
	
	public int getId() {
		return id;
	}
	
	public void setId(int id) {
		this.id = id;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public double getPrice() {
		return price;
	}
	
	public void setPrice(double price) {
		this.price = price;
	}
	public String getImage() {
		return image;
	}
	
	public void setImage(String image) {
		this.image = image;
	}
	
	public String getInfor() {
		return infor;
	}
	
	public void setInfor(String infor) {
		this.infor = infor;
	}
}

3.数据库连接工具类:DBHelper.java

    单例模式,用于连接数据库,具体如下:

package com.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.Driver;

/*
 * 数据库连接的工具类
 * 2018.4.16
 * 单例模式
 */
public class DBHelper {
	
	private static final  String url="jdbc:mysql://localhost:3306/goods_database";
	private static final  String name="root";
	private static final  String password="root";
	private static Connection conn = null; 
	
	static{
        try {

    		//注册数据库驱动  
        	Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
			DriverManager.registerDriver(new Driver());
			
			//获取数据库连接     
	         conn=(Connection) DriverManager.getConnection(url, name, password);  
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
	}
	
	public static Connection getConnection(){
		System.out.println("数据库连接成功");
		return conn;
	}
}

ok,前期准备我们做好了,接下来就是如何去实现我们的功能了,好啦,让我们愉快地进入下一节吧~

                                                                              学习上一节:1.项目介绍和需求分析

                                                                              学习下一节:3.显示当前所有商品


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值