Home >Database >Mysql Tutorial >How to develop a simple shopping cart function using MySQL and Go language
How to use MySQL and Go language to develop a simple shopping cart function
With the rise of e-commerce, the shopping cart has become a necessary functional module. This article will introduce how to use MySQL and Go language to develop a simple shopping cart function, and provide specific code examples.
1. Preparation
First, we need to build a MySQL database to store information related to the user's shopping cart. Create a database named "shopping_cart" in MySQL and create a data table named "cart_items" in it. The "cart_items" table structure is as follows:
CREATE TABLE cart_items (
id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, price DECIMAL(10, 2) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Among them, the id field is an auto-incrementing primary key, and the user_id field is used to store user ID and product_id The field is used to store the product ID, the quantity field is used to store the purchase quantity, the price field is used to store the product price, and the created_at field is used to store the creation time.
2. Go language code example
The following is a code example of a simple shopping cart function written in Go language:
package main
import (
"database/sql" "fmt" _ "github.com/go-sql-driver/mysql"
)
type CartItem struct {
ID int UserID int ProductID int Quantity int Price float32 CreatedAt string
}
func main() {
// 连接数据库 db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/shopping_cart") checkError(err) defer db.Close() // 创建购物车项 item := &CartItem{ UserID: 1, ProductID: 1, Quantity: 2, Price: 19.99, } createCartItem(db, item) // 获取购物车项列表 items, err := getCartItems(db, item.UserID) checkError(err) for _, item := range items { fmt.Println(item) }
}
func createCartItem (db sql.DB, item CartItem) {
stmt, err := db.Prepare("INSERT INTO cart_items(user_id, product_id, quantity, price) VALUES(?, ?, ?, ?)") checkError(err) defer stmt.Close() _, err = stmt.Exec(item.UserID, item.ProductID, item.Quantity, item.Price) checkError(err)
}
func getCartItems(db *sql.DB, userID int) ([]CartItem, error) {
rows, err := db.Query("SELECT * FROM cart_items WHERE user_id = ?", userID) if err != nil { return nil, err } defer rows.Close() var items []CartItem for rows.Next() { var item CartItem err := rows.Scan(&item.ID, &item.UserID, &item.ProductID, &item.Quantity, &item.Price, &item.CreatedAt) if err != nil { return nil, err } items = append(items, item) } return items, nil
}
func checkError(err error) {
if err != nil { panic(err) }
}
In the above code, we first use the sql.Open function to connect to the MySQL database. Next, we defined a CartItem structure to represent the shopping cart item information. The createCartItem function is used to create a shopping cart item and insert it into the database. The getCartItems function is used to query the shopping cart item list of the specified user. Finally, we demonstrate the shopping cart function by calling the createCartItem and getCartItems functions.
3. Summary
Through the above steps, we successfully developed a simple shopping cart function using MySQL and Go language, and provided specific code examples. This example can help developers better understand how to use MySQL and Go language to implement the shopping cart function, and expand and optimize the function according to actual needs.
The above is the detailed content of How to develop a simple shopping cart function using MySQL and Go language. For more information, please follow other related articles on the PHP Chinese website!