Jumat, 24 Oktober 2014

MENGHUBUNGKAN DATABASE DI GOLANG

Seamat sore teman". kali ini saya akana mengajaran tentang menambahan data ke dalam database dan bagaimana
cara mengoneksian database dengan bahasa go lang yang telah saya buat sebelumnya yaitu ir_uc. ir_uc saya sudah membuat tabel yaitu mesium_institution.


pertama-tama saya membuat uc.go yang berfungsi sebagai main :

========================================================================
package main

import (
"fmt"
"net/http"
"uc/sys/routing"
"uc/sys/config"
)

func main() {

fmt.Println("Starting server...")
config.RootDirectory = "C:/xampp/htdocs/uc/"//folder tempalate nya
config.ResourcesDirectory = config.RootDirectory+"res"
config.TemplateDirectory = "template/"
config.UcupDB, _ = config.DBConnect()
routing.Routing()

fmt.Println("Listening on port 8080...")
http.ListenAndServe(":8080", nil)
}


nah, selanjutnya saya membuat file DBConfig.go berisikan tentang konfigurasi database yang ingin dihubingkan

========================================================================

package config

var DB_ConnectionType string = "tcp"
var DB_Host string = "localhost"
var DB_HostPort string = "3306"
var DB_Username string = "root"
var DB_Password string = ""
var DB_Database string = "ir_uc"//database yang sudah saya buat

var RootDirectory string
var ResourcesDirectory string
var TemplateDirectory string

type DBConn struct{
DB_ConnectionType string
DB_Host           string
DB_HostPort       string
DB_Username       string
DB_Password       string
DB_Database       string
}

type DBConfig interface {
GetDB_ConnectionType() string
GetDB_Host() string
GetDB_HostPort() string
GetDB_Username() string
GetDB_Password() string
GetDB_Database() string
}

func (d *DBConn) GetDB_ConnectionType() string {
return d.DB_ConnectionType
}

func (d *DBConn) GetDB_Host() string {
return d.DB_Host
}

func (d *DBConn) GetDB_HostPort() string {
return d.DB_HostPort
}

func (d *DBConn) GetDB_Username() string {
return d.DB_Username
}

func (d *DBConn) GetDB_Password() string {
return d.DB_Password
}

func (d *DBConn) GetDB_Database() string {
return d.DB_Database
}



nah, selanjutnya saya membuat file DBOperation.go agar database yang telah di buat dapat di operasiakan.

========================================================================
package config

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

var UcupDB *sql.DB//database uc

func DBConnect() (*sql.DB, error) {
UcupDB, err := sql.Open("mysql", DB_Username+":"+DB_Password+"@"+DB_ConnectionType+"("+DB_Host+":"+DB_HostPort+")/"+DB_Database)
fmt.Println(UcupDB)
if err != nil {
fmt.Println(err)
}
return UcupDB, err
}


Syntax UcUtilis.go dibawah ini bertujuan untuk menjalanan system konfigurasi DBConfig.go

========================================================================

package mr

import (
"html/template"
"io/ioutil"
"uc/sys/config"
"net/http"
)

func MRenderTemplate(name string) (*template.Template, error) {
t := template.New(name)
s, _ := ioutil.ReadFile(config.RootDirectory + config.TemplateDirectory + name);
t, err := t.Parse(string(s))
return t, err
}

func MExecute(w http.ResponseWriter, t *template.Template, data interface{}) {
t.Execute(w, data)
}


nannti di lanutin lagi ya...

Tidak ada komentar:

Posting Komentar