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,前期准备我们做好了,接下来就是如何去实现我们的功能了,好啦,让我们愉快地进入下一节吧~

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

被折叠的 条评论
为什么被折叠?



