【JSP篇】——cookie之商品瀏覽記錄的實現:2.數據庫的設計,商品實體類以及數據庫連接的工具類的實現

                                                                                     學習上一節: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.顯示當前所有商品


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章