From b25cab0104089cad32c48e23b92f52663e23d480 Mon Sep 17 00:00:00 2001 From: The Magician Date: Tue, 21 May 2024 12:17:24 +0100 Subject: [PATCH] Remove test code from main.go --- sevenkeys/main.go | 103 +--------------------------------------------- 1 file changed, 1 insertion(+), 102 deletions(-) diff --git a/sevenkeys/main.go b/sevenkeys/main.go index 8f92c9e..67821f5 100644 --- a/sevenkeys/main.go +++ b/sevenkeys/main.go @@ -1,110 +1,9 @@ package main import ( - "database/sql" "fmt" - "log" - - "github.com/go-sql-driver/mysql" ) -type Product struct { - Name string - Price float64 - Available bool -} - -var db *sql.DB - func main() { - connectionConfig := mysql.Config{ - User: "root", - Passwd: "o7MS6CIn660jIApSP", - Net: "tcp", - Addr: "127.0.0.1:3306", - DBName: "goql", - AllowNativePasswords: true, - } - - var err error - - db, err := sql.Open("mysql", connectionConfig.FormatDSN()) - defer db.Close() - - if err != nil { - log.Fatal(err) - } - - if err = db.Ping(); err != nil { - log.Fatal(err) - } - fmt.Println("Connected!") - - createProductTable(db) - - insertProduct(db, Product{Name: "Book 1", Price: 15.95, Available: true}) - insertProduct(db, Product{Name: "Book 2", Price: 15.95, Available: true}) - insertProduct(db, Product{Name: "Book 3", Price: 15.95, Available: true}) - insertProduct(db, Product{Name: "Book 4", Price: 15.95, Available: true}) - insertProduct(db, Product{Name: "Book 5", Price: 15.95, Available: true}) - - products := getAllProducts(db) - - fmt.Println(products) -} - -func createProductTable(db *sql.DB) { - query := `CREATE TABLE IF NOT EXISTS Product ( - Id SERIAL PRIMARY KEY, - Name VARCHAR(100) NOT NULL, - Price NUMERIC(6,2) NOT NULL, - Available BOOLEAN, - Created TIMESTAMP DEFAULT NOW() - )` - - _, err := db.Exec(query) - if err != nil { - log.Fatal(err) - } -} - -func insertProduct(db *sql.DB, product Product) int64 { - query := "INSERT INTO Product (Name, Price, Available) VALUES (?, ?, ?);" - - insert, err := db.Prepare(query) - defer insert.Close() - if err != nil { - log.Fatal(err) - } - - result, err := insert.Exec(product.Name, product.Price, product.Available) - rowsAffected, _ := result.RowsAffected() - if err != nil || rowsAffected != 1 { - log.Fatal(err) - } - - insertedRowId, _ := result.LastInsertId() - return insertedRowId -} - -func getAllProducts(db *sql.DB) []Product { - products := []Product{} - - rows, err := db.Query("SELECT Name, Price, Available FROM Product;") - if err != nil { - log.Fatal(err) - } - defer rows.Close() - - var product Product - for rows.Next() { - err := rows.Scan(&product.Name, &product.Price, &product.Available) - if err != nil { - log.Fatal(err) - } - - products = append(products, product) - } - - return products + fmt.Println("Hello, world") }