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

王林
Lepaskan: 2023-09-21 12:13:41
asal
886 orang telah melayarinya

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
Salin selepas log masuk

);

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"
Salin selepas log masuk

)

taip struktur CartItem {

}
ID       int
UserID   int
ProductID int
Quantity int
Price    float32
CreatedAt string
Salin selepas log masuk

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)
}
Salin selepas log masuk

}

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)
Salin selepas log masuk

}

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
Salin selepas log masuk

}

func checkError(err error) {

if err != nil {
    panic(err)
}
Salin selepas log masuk
}

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!