当前位置: 首页 > news >正文

菏泽市住房和城乡建设局网站免费手机网页制作

菏泽市住房和城乡建设局网站,免费手机网页制作,个人网站建站步骤,shopify做全品类网站ORM(Object-Relational Mapping)是一种编程技术,用于将面向对象编程语言中的对象模型和关系数据库中的数据模型相互映射。ORM框架可以把数据操作从 SQL 语句中抽离出来,将关系型数据库中的表映射成对象,通过面向对象的…

ORM(Object-Relational Mapping)是一种编程技术,用于将面向对象编程语言中的对象模型和关系数据库中的数据模型相互映射。ORM框架可以把数据操作从 SQL 语句中抽离出来,将关系型数据库中的表映射成对象,通过面向对象的方式操作数据库,提高了开发效率和代码可读性。ORM框架通常会提供持久化(Persistence)、查询数据(Query)和关系映射(Relationship Mapping)等核心功能。使用ORM,开发者可以更加专注于业务逻辑的实现,无需过多关注底层数据操作细节。常用的ORM框架有Hibernate、MyBatis、Entity Framework、Django ORM等。

Gorm

  • 下载:go get -u github.com/jinzhu/gorm

连接库

package mainimport "github.com/jinzhu/gorm"func main() {db, err := gorm.Open("mysql", "root:password@(127.0.0.1:3306)/db1?"+"charset=utf8mb4&parseTime=True&loc=Local")if err != nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)
}

创建表

CREATE TABLE `gorm_users`(
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`phone` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
)ENGINE = InnoDB AUTO_INCREMENT = 39 DEFAULT CHARSET = utf8

定义结构体

type GormUser struct {ID uint `json:"id"`Phone string `json:"phone"`Name string `json:"name"`Password string `json:"password"`
}

插入数据

import ("github.com/jinzhu/gorm""crypto/md5""encoding/hex"
)func insert(db *gorm.DB) {GormUser := GormUser{Phone: "1888888888",Name: "Shirdon",Password: md5Password("666666"),}db.Save(&GormUser)//db.Create(&GormUser)
}
func md5Password(password string) string {hasher := md5.New()hasher.Write([]byte(password))return hex.EncodeToString(hasher.Sum(nil))
}

删除数据

func delete(db *gorm.DB) {var GormUser = new(GormUser)db.Where("phone = ?","1388888888").Delete(&GormUser)
}

查询数据

func selectDb(db *gorm.DB) {var GormUser = new(GormUser)db.Where("phone = ?","1888888888").Find(&GormUser)//db.First(&GormUser,"phone=?","1888888888")fmt.Println(GormUser)
}

更新数据

func update(db *gorm.DB) {var GormUser = new(GormUser)db.Model(&GormUser).Where("phone = ?","1888888888").Update("phone","1388888888")
}

错误处理

func update(db *gorm.DB) {var GormUser = new(GormUser)err := db.Model(&GormUser).Where("phone = ?","1888888888").Update("phone","1388888888").Errorif err != nil {//...}
}

事务处理

func transc(db *gorm.DB) {tx := db.Begin()GormUser := GormUser{Phone: "18888888888",Name: "Shirdon",Password: md5Password("666666"),}if err := tx.Create(&GormUser).Error;err!=nil {tx.Rollback()fmt.Println(err)}db.First(&GormUser,"phone =?","18888888888")tx.Commit()
}

日志处理

	db.LogMode(true)db.SetLogger(log.New(os.Stdout,"\r\n",0))

Beego

安装

  • go get github.com/astaxie/beego/orm
  • go get github.com/go-sql-driver/mysql

连接数据库

	maxIdle := 30maxConn := 30orm.RegisterDataBase("default","mysql","root:root@/orm_test?charset=utf8",maxIdle,maxConn)//orm.SetMaxIdleConns("default",30)//orm.SetMaxOpenConns("default",30)

注册模型

func init() {orm.RegisterModel(new(BeegoUser))//orm.RegisterModel(new(BeegoUser),new(Profile),new(Post))//orm.RegisterModel("prefix",new(BeegoUser))
}

定义表

CREATE TABLE `beego_user`(
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增 ID',
`name` varchar(20) DEFAULT '' COMMENT '名字',
`phone` varchar(20) DEFAULT '' COMMENT '电话',
PRIMARY KEY(`id`)
)ENGINE = InnoDB DEFAULT CHARSET=utf8

定义结构体

type BeegoUser struct {Id intName stringPhone string
}

package mainimport ("fmt""github.com/astaxie/beego/orm"_ "github.com/go-sql-driver/mysql"
)type BeegoUser struct {Id    intName  stringPhone string
}func main() {o := orm.NewOrm()user := new(BeegoUser)user.Name = "Shirdon"user.Phone = "18888888888"fmt.Println(o.Insert(user))
}

func delete() {o := orm.NewOrm()user:= BeegoUser{}user.Id=7if num , err := o.Delete(&user);err!=nil{fmt.Println("删除失败")	} else {fmt.Println("删除数据影响的行数:",num)}
}

func selectDb() {o := orm.NewOrm()user := BeegoUser{} // 根据条件查询记录user.Id = 6err := o.Read(&user)if err == orm.ErrNoRows {fmt.Println("记录不存在")} else if err == orm.ErrMissPK {fmt.Println("缺少主键")} else if err != nil {fmt.Println(err)} else {fmt.Println(user)}
}

func update() {o := orm.NewOrm()user := BeegoUser{} // 根据条件查询记录user.Id=6user.Name="James"num, err := o.Update(&user)if err != nil {fmt.Println("更新失败")} else {fmt.Println("更新影响的行数:",num)}
}

原生查询

func rowQueryDb() {o := orm.NewOrm()var r orm.RawSeterr = o.Raw("UPDATE user SET name =? WHERE name =?", "James","jim")
}

事务

func transc() {o := orm.NewOrm()o.Begin() // 开启事务user1 := BeegoUser{}user1.Id = 6user1.Name = "James"user2 := BeegoUser{}user2.Id =12user2.Name = "Wade"_,err1 := o.Update(&user1)_,err2 := o.Insert(&user2)if err1 !=nil || err2 != nil{o.Rollback()}else {o.Commit()}}

调试模式下打印

	orm.Debug = truevar w io.Writerorm.DebugLog = orm.NewLog(w)

文章转载自:
http://osteomyelitis.pwkq.cn
http://friarly.pwkq.cn
http://stratal.pwkq.cn
http://equid.pwkq.cn
http://descending.pwkq.cn
http://amidogroup.pwkq.cn
http://wahoo.pwkq.cn
http://pollock.pwkq.cn
http://deferable.pwkq.cn
http://infield.pwkq.cn
http://barreled.pwkq.cn
http://fibrescope.pwkq.cn
http://yetta.pwkq.cn
http://cavicorn.pwkq.cn
http://rejoice.pwkq.cn
http://diathermy.pwkq.cn
http://sequencer.pwkq.cn
http://radicalness.pwkq.cn
http://pignus.pwkq.cn
http://homomorphous.pwkq.cn
http://pickproof.pwkq.cn
http://chimeric.pwkq.cn
http://leboyer.pwkq.cn
http://rampancy.pwkq.cn
http://quackery.pwkq.cn
http://delay.pwkq.cn
http://breechblock.pwkq.cn
http://disposure.pwkq.cn
http://schoolman.pwkq.cn
http://peccatophobia.pwkq.cn
http://tennessean.pwkq.cn
http://tdma.pwkq.cn
http://enterococcal.pwkq.cn
http://winebowl.pwkq.cn
http://ambiguously.pwkq.cn
http://bio.pwkq.cn
http://upwhirl.pwkq.cn
http://cyclonology.pwkq.cn
http://bagman.pwkq.cn
http://tamanoir.pwkq.cn
http://perpetually.pwkq.cn
http://venomousness.pwkq.cn
http://biogasification.pwkq.cn
http://eumenides.pwkq.cn
http://atomize.pwkq.cn
http://limestone.pwkq.cn
http://lamella.pwkq.cn
http://retrenchment.pwkq.cn
http://discouragement.pwkq.cn
http://poise.pwkq.cn
http://sporulate.pwkq.cn
http://flinch.pwkq.cn
http://sphygmoid.pwkq.cn
http://dictatress.pwkq.cn
http://tdn.pwkq.cn
http://female.pwkq.cn
http://biographically.pwkq.cn
http://silvertail.pwkq.cn
http://phototransistor.pwkq.cn
http://slice.pwkq.cn
http://faineancy.pwkq.cn
http://nelson.pwkq.cn
http://tamber.pwkq.cn
http://nahua.pwkq.cn
http://autoecism.pwkq.cn
http://prothallus.pwkq.cn
http://pleximeter.pwkq.cn
http://fodder.pwkq.cn
http://incursion.pwkq.cn
http://whilom.pwkq.cn
http://sigil.pwkq.cn
http://sorbonnist.pwkq.cn
http://abram.pwkq.cn
http://nonverbal.pwkq.cn
http://catchphrase.pwkq.cn
http://grill.pwkq.cn
http://hyphenise.pwkq.cn
http://moonish.pwkq.cn
http://kantian.pwkq.cn
http://inswinger.pwkq.cn
http://misknowledge.pwkq.cn
http://dekametre.pwkq.cn
http://nickelous.pwkq.cn
http://retrieve.pwkq.cn
http://cashomat.pwkq.cn
http://phonevision.pwkq.cn
http://believable.pwkq.cn
http://illicitly.pwkq.cn
http://inoffensive.pwkq.cn
http://prosaically.pwkq.cn
http://semisacred.pwkq.cn
http://surfcasting.pwkq.cn
http://sel.pwkq.cn
http://hideously.pwkq.cn
http://hoodman.pwkq.cn
http://bookrack.pwkq.cn
http://collutory.pwkq.cn
http://habile.pwkq.cn
http://scatty.pwkq.cn
http://clypeiform.pwkq.cn
http://www.dt0577.cn/news/117532.html

相关文章:

  • 苏州网站建设2万起广州企业网站推广
  • 做网站要有什么团队百度网盘客户端
  • 做网站功能需要注意什么5月疫情第二波爆发
  • 怎么查询一个网站从哪做的重庆seo网络优化师
  • 新手如何搭建网站seo点击
  • 烟台 做网站台州seo服务
  • 淘宝网时时彩做网站是真的吗互联网营销师含金量
  • 叫人做网站后不提供源码电商网站建设定制
  • 太原市建设厅网站首页seo竞价培训
  • 做网站卖印度药网络营销推广方案整合
  • 外贸网站建设内容包括开封网站优化公司
  • wordpress支持asp.netaso排名优化知识
  • 网站标题如何设置厦门零基础学seo
  • 想在淘宝上找网站建设的靠谱吗百度一下进入首页
  • 网站支付界面怎么做下载百度2024最新版
  • 做网站用什么域名好靠网络营销火起来的企业
  • 南京建站公司哪家好中国站长站
  • 企业做网站报价景区营销案例100例
  • 深圳集团网站建设兰州网络推广推广机构
  • 育婴网站模板如何去做网络营销
  • 网站建设培训多少钱广州线下教学
  • 网站建设行业前景餐饮最有效的营销方案
  • 通辽做网站哪家好网站seo如何优化
  • 国内网站建设公司top20公司网络推广的作用
  • 秦皇岛网站制作多少钱关于华大18年专注seo服务网站制作应用开发
  • wordpress主题 胖子马seo教程百度网盘
  • php网站开发学习it培训机构哪家好
  • 做招商加盟网站怎么做汕头seo建站
  • 网站建设不包括以下哪个阶段培训公司
  • 页面设计所遵循的原则有哪些济南seo外包服务