Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk membangunkan fungsi troli beli-belah yang mudah menggunakan MySQL dan bahasa Go

Bagaimana untuk membangunkan fungsi troli beli-belah yang mudah menggunakan MySQL dan bahasa Go

王林
王林asal
2023-09-21 12:13:41857semak imbas

Bagaimana untuk membangunkan fungsi troli beli-belah yang mudah menggunakan MySQL dan bahasa Go

Cara membangunkan fungsi troli beli-belah yang mudah menggunakan MySQL dan bahasa Go

Dengan peningkatan e-dagang, troli beli-belah telah menjadi modul berfungsi yang diperlukan. Artikel ini akan memperkenalkan cara menggunakan bahasa MySQL dan Go untuk membangunkan fungsi troli beli-belah yang mudah, dan menyediakan contoh kod khusus.

1. Persediaan
Pertama, kita perlu membina pangkalan data MySQL untuk menyimpan maklumat yang berkaitan dengan troli beli-belah pengguna. Cipta pangkalan data bernama "shopping_cart" dalam MySQL dan buat jadual data bernama "cart_items" di dalamnya. Struktur jadual "cart_items" adalah seperti berikut:

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

);

Antaranya, medan id ialah kunci utama auto-incrementing, medan user_id digunakan untuk menyimpan ID pengguna, product_id medan digunakan untuk menyimpan ID produk, dan medan kuantiti digunakan untuk menyimpan Kuantiti Belian, medan harga digunakan untuk menyimpan harga produk, dan medan create_at digunakan untuk menyimpan masa penciptaan.

2. Contoh kod bahasa Go
Berikut ialah contoh kod fungsi troli beli-belah ringkas yang ditulis dalam bahasa Go:

pakej utama

import (

"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"

)

taip struktur CartItem {

}
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) {

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)
}

}

Dalam kod di atas, kami mula-mula menggunakan fungsi sql.Open untuk menyambung ke pangkalan data MySQL. Seterusnya, kami mentakrifkan struktur CartItem untuk mewakili maklumat item troli beli-belah. Fungsi createCartItem digunakan untuk mencipta item troli beli-belah dan memasukkannya ke dalam pangkalan data. Fungsi getCartItems digunakan untuk menanyakan senarai item troli beli-belah pengguna yang ditentukan. Akhir sekali, kami menunjukkan fungsi troli beli-belah dengan memanggil fungsi createCartItem dan getCartItems.

3. Ringkasan

Melalui langkah di atas, kami berjaya membangunkan fungsi troli beli-belah yang mudah menggunakan bahasa MySQL dan Go, dan memberikan contoh kod khusus. Contoh ini boleh membantu pembangun lebih memahami cara menggunakan bahasa MySQL dan Go untuk melaksanakan fungsi troli beli-belah, dan mengembangkan serta mengoptimumkan fungsi mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk membangunkan fungsi troli beli-belah yang mudah menggunakan MySQL dan bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn