基于JDBC的小型商品管理系统包括用户登录与注册,商品添加,修改,删除,查询的方法解释说明
时间: 2024-03-07 13:54:23 浏览: 19
基于JDBC的小型商品管理系统可以实现以下功能:
1. 用户登录与注册:用户可以通过系统提供的登录页面输入用户名和密码进行登录,如果没有账号,可以通过注册页面进行注册。用户信息需要存储在数据库中。
2. 商品添加:管理员可以通过系统提供的添加商品页面输入商品名称、价格、描述等信息,将商品信息添加到数据库中。
3. 商品修改:管理员可以通过系统提供的修改商品页面对已有的商品进行修改,比如修改商品价格、描述等信息。
4. 商品删除:管理员可以通过系统提供的删除商品页面删除数据库中已有的商品信息。
5. 商品查询:用户可以通过系统提供的查询页面查询数据库中已有的商品信息,比如根据商品名称、价格范围等条件进行查询。
以上功能都需要通过JDBC技术来实现。具体来说,需要编写Java代码连接数据库、执行SQL语句,实现数据的增删改查等操作。同时,还需要使用Java Servlet技术实现用户登录、注册等功能,并且使用JSP技术实现网页的渲染和展示。
相关问题
基于JDBC的小型商品管理系统包括用户登录与注册,商品信息添加,查询,修改和删除并在主方法中实现结果
好的,我可以为您提供一个基于JDBC的小型商品管理系统的代码示例。请注意,以下代码仅供参考,您需要根据自己的实际情况进行修改。
首先,我们需要先创建一个MySQL数据库,并在其中创建一个名为"product_db"的数据库。在该数据库中,我们需要创建两个表:一个是"user"表,用于存储用户信息,另一个是"product"表,用于存储商品信息。
创建"user"表的SQL语句如下:
```
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
```
创建"product"表的SQL语句如下:
```
CREATE TABLE `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`price` decimal(10,2) NOT NULL,
`stock` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
```
接下来是Java代码实现部分,我们需要实现用户登录和注册、商品信息的增删改查等功能。以下是完整的代码示例:
```java
import java.sql.*;
public class ProductManagementSystem {
// 数据库连接相关配置
private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
private static final String DB_URL = "jdbc:mysql://localhost:3306/product_db?useSSL=false";
private static final String USER = "root";
private static final String PASS = "123456";
// 用户登录
public static boolean userLogin(String username, String password) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开连接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
String sql = "SELECT * FROM user WHERE username = ? AND password = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, username);
stmt.setString(2, password);
rs = stmt.executeQuery();
// 判断查询结果是否为空
if (rs.next()) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
// 关闭资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
// 用户注册
public static boolean userRegister(String username, String password) {
Connection conn = null;
PreparedStatement stmt = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开连接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行插入
String sql = "INSERT INTO user(username, password) VALUES (?, ?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1, username);
stmt.setString(2, password);
int rows = stmt.executeUpdate();
// 判断插入结果是否成功
if (rows > 0) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
// 添加商品
public static boolean addProduct(String name, double price, int stock) {
Connection conn = null;
PreparedStatement stmt = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开连接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行插入
String sql = "INSERT INTO product(name, price, stock) VALUES (?, ?, ?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
stmt.setDouble(2, price);
stmt.setInt(3, stock);
int rows = stmt.executeUpdate();
// 判断插入结果是否成功
if (rows > 0) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
// 查询商品
public static void queryProduct(String name) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开连接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
String sql = "SELECT * FROM product WHERE name LIKE ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, "%" + name + "%");
rs = stmt.executeQuery();
// 输出查询结果
while (rs.next()) {
int id = rs.getInt("id");
String productName = rs.getString("name");
double price = rs.getDouble("price");
int stock = rs.getInt("stock");
System.out.println("商品ID:" + id + "\t商品名称:" + productName + "\t价格:" + price + "\t库存:" + stock);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
// 修改商品
public static boolean modifyProduct(int id, String name, double price, int stock) {
Connection conn = null;
PreparedStatement stmt = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开连接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行更新
String sql = "UPDATE product SET name = ?, price = ?, stock = ? WHERE id = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
stmt.setDouble(2, price);
stmt.setInt(3, stock);
stmt.setInt(4, id);
int rows = stmt.executeUpdate();
// 判断更新结果是否成功
if (rows > 0) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
// 删除商品
public static boolean deleteProduct(int id) {
Connection conn = null;
PreparedStatement stmt = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开连接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行删除
String sql = "DELETE FROM product WHERE id = ?";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, id);
int rows = stmt.executeUpdate();
// 判断删除结果是否成功
if (rows > 0) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
public static void main(String[] args) {
// 用户注册
userRegister("testuser", "testpassword");
// 用户登录
if (userLogin("testuser", "testpassword")) {
System.out.println("用户登录成功");
} else {
System.out.println("用户登录失败");
}
// 添加商品
if (addProduct("苹果", 5.0, 100)) {
System.out.println("添加商品成功");
} else {
System.out.println("添加商品失败");
}
// 查询商品
queryProduct("苹果");
// 修改商品
if (modifyProduct(1, "苹果", 6.0, 200)) {
System.out.println("修改商品成功");
} else {
System.out.println("修改商品失败");
}
// 删除商品
if (deleteProduct(1)) {
System.out.println("删除商品成功");
} else {
System.out.println("删除商品失败");
}
}
}
```
以上是基于JDBC的小型商品管理系统的代码示例,其中包括用户登录和注册、商品信息的增删改查等功能。希望对您有所帮助。
基于JDBC的小型商品管理系统代码实现并在主方法中调用
好的,我会提供一个基于JDBC的小型商品管理系统的代码实现,并在主方法中调用。
我们假设有一个名为“products”的表,其中包含以下字段:id、name、price、quantity。下面是一个简单的商品管理系统的代码实现:
```
import java.sql.*;
public class ProductManagementSystem {
public static void main(String[] args) {
// 定义数据库连接信息
String url = "jdbc:mysql://localhost:3306/mydatabase?useSSL=false"; // 数据库连接地址
String user = "root"; // 数据库用户名
String password = "123456"; // 数据库密码
// 定义相关变量
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 连接数据库
conn = DriverManager.getConnection(url, user, password);
// 创建Statement对象
stmt = conn.createStatement();
// 查询数据
String sql = "SELECT * FROM products";
rs = stmt.executeQuery(sql);
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
double price = rs.getDouble("price");
int quantity = rs.getInt("quantity");
System.out.println("ID: " + id + ", Name: " + name + ", Price: " + price + ", Quantity: " + quantity);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 释放资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
在上面的代码中,我们首先定义了数据库连接信息,包括连接地址、用户名和密码。然后定义了三个变量,用于存储数据库连接、`Statement`对象和查询结果。接下来,我们通过`Class.forName()`方法来加载JDBC驱动程序,然后通过`DriverManager.getConnection()`方法来连接数据库。创建`Statement`对象后,我们可以使用`executeQuery()`方法来查询数据。最后,通过`while`循环来处理查询结果,并在控制台上打印输出。
在使用完JDBC后,我们通过`try-catch-finally`语句块来释放相关资源,包括`ResultSet`、`Statement`和`Connection`对象。
希望这个例子能够帮助您了解如何使用JDBC访问数据库,并实现一个简单的商品管理系统。