GO 学习笔记例子三 (数据库)

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

database, err := dsDAO.GetQReportExternalDatabaseByID(ormer, databaseID)

sqlStr := `SELECT TABLE_NAME,TABLE_COMMENT FROM  information_schema.TABLES WHERE TABLE_SCHEMA LIKE ?`
params := []interface{}{database.DatabaseName}
if searchKey != "" {
sqlStr += " AND TABLE_NAME LIKE ?"
params = append(params, "%"+searchKey+"%")
}
rows, err := client.Query(sqlStr, params...)

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

package dao

import (
"fmt"
"github.com/astaxie/beego/orm"
"qihoo.net/qdam/models"
//"time"
)
// GetDataTableInfoData 数据表字段(获取数据表,通过数据库ID查询表,参数传id)
func GetDataTableInfoData(db orm.Ormer, databseID int64) ([]models.QReportExternalTableInfo, error) {
var lsits []models.QReportExternalTableInfo
_, err := db.QueryTable("self_rpt_external_tableinfo").Filter("database_id", databseID).All(&lsits)
return lsits, err
}
// GetDataClassListData 表列
func GetDataClassListData(db orm.Ormer, classify int64, keyword string, dataOrigin int64, currentpage int, pagesize int) (cates []*models.QReportExternalTableInfo, err error) { //tableInfo *models.QReportExternalTableInfo
params := make([]interface{}, 0)
sql := `select * from (select id,table_name,table_info, table_type,user_id,type,database_id from self_rpt_external_tableinfo  `
sql += ` UNION `
sql += `SELECT id,name as table_name,name as table_info, table_type,user_id,type,database_id from self_rpt_data_model_join_table) `
sql += `tmp where 1=1`
if classify > 0 {
sql += ` AND tmp.type = ?`
params = append(params, classify)
}
if keyword != "" {
sql += ` AND tmp.table_name like ?`
params = append(params, "%"+keyword+"%")
}
if dataOrigin != 0 {
sql += ` AND tmp.table_type = ?`
params = append(params, dataOrigin)
}
if currentpage == -10 {
currentpage = 0
}
sql += ` ORDER BY tmp.id DESC `
sql += fmt.Sprintf(" LIMIT %d,%d", currentpage, pagesize)
_, err = db.Raw(sql, params...).QueryRows(&cates)
return
/*
params := make([]interface{}, 0)
sql := `SELECT * FROM self_rpt_external_tableinfo WHERE 1=1 `
if classify > 0 {
sql += " AND type = ?"
params = append(params, classify)
}
if keyword != "" {
sql += " AND table_name = ?"
params = append(params, keyword)
}


sql += fmt.Sprintf(" LIMIT %d,%d", currentpage, pagesize)
_, err = db.Raw(sql, params...).QueryRows(&cates)
return
*/
}
// GetDataClassListSumData 返回总条数
func GetDataClassListSumData(db orm.Ormer, classify int64, keyword string, dataOrigin int64) (count int64, err error) {
params := make([]interface{}, 0)
sql := `select count(id) from (select id,table_name,table_info, table_type,user_id,type from self_rpt_external_tableinfo  `
sql += `UNION `
sql += ` SELECT id,name as table_name,name as table_info, table_type,user_id,type `
sql += ` from self_rpt_data_model_join_table) tmp  WHERE 1=1 `
if classify > 0 {
sql += " AND tmp.type = ?"
params = append(params, classify)
}
if keyword != "" {
sql += " AND tmp.table_name like ?"
params = append(params, "%"+keyword+"%")
}
if dataOrigin != 0 {
sql += ` AND tmp.table_type = ?`
params = append(params, dataOrigin)
}
err = db.Raw(sql, params...).QueryRow(&count)
return
/*
params := make([]interface{}, 0)
sql := `SELECT COUNT(id) FROM self_rpt_external_tableinfo  `
sql += ` WHERE 1=1 `
if classify > 0 {
sql += " AND type = ?"
params = append(params, classify)
}
if keyword != "" {
sql += " AND table_name = ?"
params = append(params, keyword)
}


err = db.Raw(sql, params...).QueryRow(&count)
return
*/
}
// GetDatarawClassCreateData 创建分类
func GetDatarawClassCreateData(db orm.Ormer, datarawClass *models.QReportExternalDatarawClass) (id int64, err error) { //db orm.Ormer
/*
datarawClass := new(models.QReportExternalDatarawClass)
datarawClass.ClassName = classname
datarawClass.CreateName = "ass"
datarawClass.CreateTime = time.Now()
datarawClass.ModifyName = "ddd"
datarawClass.ModifyTime = time.Now()
*/
return db.Insert(datarawClass)
}
// GetTableInfoOneData 查询表
func GetTableInfoOneData(db orm.Ormer, userid int64, tablename string) (models.QReportExternalTableInfo, error) {
var tableInfo models.QReportExternalTableInfo
err := db.QueryTable("self_rpt_external_tableinfo").Filter("table_name", tablename).Filter("user_id", userid).One(&tableInfo) //.Filter("user_id", userid)
return tableInfo, err
}
// GetFieldInfoOne 查看字段表是否有
func GetFieldInfoOne(db orm.Ormer, userid int64, tableID int64) (models.QReportExternalFieldInfo, error) {
var fieldInfo models.QReportExternalFieldInfo
err := db.QueryTable("self_rpt_external_fieldinfo").Filter("table_id", tableID).Filter("user_id", userid).One(&fieldInfo) //.Filter("user_id", userid)
return fieldInfo, err
}
// GetTableInfoAddData 添加数据表 新改
func GetTableInfoAddData(db orm.Ormer, tableInfo *models.QReportExternalTableInfo) (id int64, err error) {
return db.Insert(tableInfo)
}
// GetFieldInfoAddData 添加表字段信息
func GetFieldInfoAddData(db orm.Ormer, fieldData *models.QReportExternalFieldInfo) (id int64, err error) {
return db.Insert(fieldData)
}
// GetDatarawClassQueryData 查询数据 判断表里有没有分类数据
func GetDatarawClassQueryData(db orm.Ormer, classname string) (id int64, err error) {
datarawClass := new(models.QReportExternalDatarawClass)
err = db.QueryTable("self_rpt_datarawclass_table").Filter("class_name", classname).One(datarawClass)
return datarawClass.ID, err
}
// GetDataQueryData 分类下拉 所有数据
func GetDataQueryData(db orm.Ormer) ([]models.QReportExternalDatarawClass, error) {
//datarawClass :models.QReportExternalTableInfo)
var lsits []models.QReportExternalDatarawClass
_, err := db.QueryTable("self_rpt_datarawclass_table").All(&lsits)
return lsits, err
}
// GetDataBaseSelectData 选择数据库
func GetDataBaseSelectData(db orm.Ormer) ([]models.QReportExternalDatabaseInfo, error) {
var databaselist []models.QReportExternalDatabaseInfo
_, err := db.QueryTable("self_rpt_external_database_info").All(&databaselist)
return databaselist, err
}
// GetDataBaseSelectOneData 数据库信息 单
func GetDataBaseSelectOneData(db orm.Ormer, dataid int64) (models.QReportExternalDatabaseInfo, error) {
var databaseInfo models.QReportExternalDatabaseInfo
err := db.QueryTable("self_rpt_external_database_info").Filter("id", dataid).One(&databaseInfo)
return databaseInfo, err
}
//GetDatarawClassTableOneData  所属分类
func GetDatarawClassTableOneData(db orm.Ormer, typeid int64) (models.QReportExternalDatarawClass, error) {
var databaseInfo models.QReportExternalDatarawClass
err := db.QueryTable("self_rpt_datarawclass_table").Filter("id", typeid).One(&databaseInfo)
return databaseInfo, err
}
// GetCreateDataUpData 更新
func GetCreateDataUpData(db orm.Ormer, reqid int64, classname string) (rows int64, err error) {
rows, err = db.QueryTable("self_rpt_datarawclass_table").Filter("id", reqid).Update(orm.Params{
"class_name": classname,
})
return rows, err
}


// GetDatarawClassDetailsUpData 修改分类
func GetDatarawClassDetailsUpData(db orm.Ormer, ids int64, types int64) (rows int64, err error) { //, req *models.QReportExternalTableInfo
_, err = db.QueryTable("self_rpt_external_tableinfo").Filter("id", ids).Update(orm.Params{
"type": types,
})
return rows, err
}
// GetfieldinfoTableDeleteDaoData 删除字段表self_rpt_external_fieldinfo
func GetfieldinfoTableDeleteDaoData(db orm.Ormer, req *models.QReportExternalTableInfo) (rows int64, err error) {
rows, err = db.QueryTable("self_rpt_external_fieldinfo").Filter("table_id", req.ID).Delete()
return rows, err
}
// GetDatarawClassDetailsDeleteData  删除数据表
func GetDatarawClassDetailsDeleteData(db orm.Ormer, req *models.QReportExternalTableInfo) (rows int64, err error) {
rows, err = db.QueryTable("self_rpt_external_tableinfo").Filter("id", req.ID).Delete()
return rows, err
}
// GetDeleteClassifyData 删除
func GetDeleteClassifyData(db orm.Ormer, tableID int64) (rows int64, err error) {
rows, err = db.QueryTable("self_rpt_datarawclass_table").Filter("id", tableID).Delete()
return rows, err
}
// GetShowTableInfoOneData 显示表信息
func GetShowTableInfoOneData(db orm.Ormer, tableID int64) (models.QReportExternalTableInfo, error) {
var data models.QReportExternalTableInfo
err := db.QueryTable("self_rpt_external_tableinfo").Filter("id", tableID).One(&data)
return data, err
}
// GetShowTableInfoDatabaseAllData 显示选择表信息
func GetShowTableInfoDatabaseAllData(db orm.Ormer, dataBaseID int64) ([]models.QReportExternalTableInfo, error) {
var data []models.QReportExternalTableInfo
_, err := db.QueryTable("self_rpt_external_tableinfo").Filter("database_id", dataBaseID).All(&data)
return data, err
}
// GetShowFieldAllData 显示字段
func GetShowFieldAllData(db orm.Ormer, tableID int64) ([]models.QReportExternalFieldInfo, error) {
var data []models.QReportExternalFieldInfo
_, err := db.QueryTable("self_rpt_external_fieldinfo").Filter("table_id", tableID).All(&data) //.Filter("table_id", tableID)
return data, err
}
// GetClassifyUpData 更新表分类信息
func GetClassifyUpData(db orm.Ormer, tableID int64, types int64) (id int64, err error) {
id, err = db.QueryTable("self_rpt_external_tableinfo").Filter("id", tableID).Update(orm.Params{
"type": types,
})
return id, err
}
// GetTableFieldUpData 更新表字段信息
func GetTableFieldUpData(db orm.Ormer, fieldID int64, fieldtype string, paramdesc string) (id int64, err error) {
id, err = db.QueryTable("self_rpt_external_fieldinfo").Filter("id", fieldID).Update(orm.Params{
"field_type": fieldtype,
"param_desc": paramdesc,
})
return id, err
}
// GetTableInfoDataUpData 更新
func GetTableInfoDataUpData(db orm.Ormer, tableid int64, physicsname string, category int64) (id int64, err error) {
_, err = db.QueryTable("self_rpt_external_tableinfo").Filter("id", tableid).Update(orm.Params{
"table_info": physicsname,
"type":       category,
})
return id, err
}
/*
func GetFieldInfoListshowData(db orm.Ormer, tableid []int) ([]models.QReportExternalFieldInfo, error) {
var data []models.QReportExternalFieldInfo
_, err := db.Raw("SELECT id,table_id,field_name,field_type,param_desc FROM self_rpt_external_fieldinfo WHERE table_id in (?) ", tableid).QueryRows(&data)
return data, err
}*/

猜你喜欢

转载自blog.csdn.net/zhaoliang831214/article/details/80006328
今日推荐