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

龙元建设集团有限公司网站沈阳整站优化

龙元建设集团有限公司网站,沈阳整站优化,网站开发小工具,建手机网站要多少钱有了前面几节的学习#xff0c;如果做个简单的web服务端已经可以完成了。 这节来做一下优化。 我们实验了3种SQL写入的方法#xff0c;但是发现每一种都需要在方法中去做数据库链接的操作#xff0c;有些重复了。 所以#xff0c;我们把这部分提取出来#xff0c;数据库链…有了前面几节的学习如果做个简单的web服务端已经可以完成了。 这节来做一下优化。 我们实验了3种SQL写入的方法但是发现每一种都需要在方法中去做数据库链接的操作有些重复了。 所以我们把这部分提取出来数据库链接的功能提取出来数据库的配置也提取出来。 这就是今天这节要做的内容配置化。 配置文件通常是放在conf目录下所以我们在t_gin/下新建一个conf目录用来存放配置文件。 然后在conf目录下新建一个service.conf文件作为实验用的配置文件。 完成后的目录结果如下 配置文件这里使用.ini的格式。 要解析.ini格式我们需要下载对应的package $ go get gopkg.in/ini.v1将package安装好之后我们再来想一下配置文件里放什么。 首先我们可以将数据库配置放进去简单点的就是dsn这个在多场景都会用到就不用在每个文件中去重复定义了。 在service.conf中添加数据库配置 [mysql] dsn root:tcp(127.0.0.1:3306)/t_gin?charsetutf8parseTimetrue配置添加好了怎么用呢 方便一点就继续使用上一节的worker.go文件来进行改造。 要做的是 1.将数据库链接操作提取出来不用每个方法都写一遍 2.将dsn配置改为从配置文件service.conf中获取不用每个文件都写一遍。 开始撸码 func (w *WorkerController) init() *sql.DB {cfg, err : ini.Load(conf/service.conf)if err ! nil {log.Println(err.Error())}mysqlDsn : cfg.Section(mysql).Key(dsn).String()db, err : sql.Open(mysql, mysqlDsn)if err ! nil {log.Panic(err.Error())}return db }init方法是我们的简单实现。 从service.conf中读取了dsn信息然后建立数据库链接并返回链接。 那方法提取出来了文件中之前的代码插入、查询、更新我们也同步进行调整。 调整之后的worker.go文件内容如下 package controllerimport (database/sqlgithub.com/gin-gonic/gingithub.com/huandu/go-sqlbuildergopkg.in/ini.v1lognet/http )type WorkerController struct { }type Worker struct {ID int json:idName string json:nameBirth string json:birth }func (w *WorkerController) init() *sql.DB {cfg, err : ini.Load(conf/service.conf)if err ! nil {log.Println(err.Error())}mysqlDsn : cfg.Section(mysql).Key(dsn).String()db, err : sql.Open(mysql, mysqlDsn)if err ! nil {log.Panic(err.Error())}return db }func (w *WorkerController) CreateWorker(c *gin.Context) {db : w.init()name : c.PostForm(name)birth : c.PostForm(birth)sb : sqlbuilder.NewInsertBuilder()sb.InsertInto(worker)sb.Cols(name, birth)sb.Values(name, birth)sqlString, args : sb.Build()log.Println(sqlString, args)_, err : db.Exec(sqlString, args...)if err ! nil {log.Panic(err.Error())}c.JSON(http.StatusOK, gin.H{code: 0,data: true,}) }func (w *WorkerController) GetWorkerInfo(c *gin.Context) {db : w.init()id : c.Query(id)sb : sqlbuilder.NewSelectBuilder()sb.From(worker)sb.Select(id,name,birth)sb.Where(sb.Equal(id, id))sqlString, args : sb.Build()log.Println(sqlString, args)result : db.QueryRow(sqlString, args...)var worker Workererr : result.Scan(worker.ID, worker.Name, worker.Birth)if err ! nil {log.Panic(err.Error())}c.JSON(http.StatusOK, gin.H{code: 0,data: worker,}) }func (w *WorkerController) UpdateWorkerInfo(c *gin.Context) {db : w.init()id : c.PostForm(id)name : c.PostForm(name)sb : sqlbuilder.NewUpdateBuilder()sb.Update(worker)sb.Where(sb.Equal(id, id))sb.SetMore(sb.Assign(name, name))sqlString, args : sb.Build()log.Println(sqlString, args)_, err : db.Exec(sqlString, args...)if err ! nil {log.Panic(err.Error())}c.JSON(http.StatusOK, gin.H{code: 0,data: true,}) }修改完之后我们运行测试对插入、获取、更新方法都进行测试后确认代码功能正常。 在这里简单的将mysql的dsn配置抽出到了配置文件中做了一个示例同样的其它一些不常用的或者很常用的配置都是可以放在配置文件中进行处理的免去了项目中多处写有利于配置管理。 今天这节就到这儿。
文章转载自:
http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn
http://www.morning.gqwpl.cn.gov.cn.gqwpl.cn
http://www.morning.xhsxj.cn.gov.cn.xhsxj.cn
http://www.morning.rlnm.cn.gov.cn.rlnm.cn
http://www.morning.yqqxj1.cn.gov.cn.yqqxj1.cn
http://www.morning.cnprt.cn.gov.cn.cnprt.cn
http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn
http://www.morning.mwpcp.cn.gov.cn.mwpcp.cn
http://www.morning.plpqf.cn.gov.cn.plpqf.cn
http://www.morning.qnyf.cn.gov.cn.qnyf.cn
http://www.morning.ltksw.cn.gov.cn.ltksw.cn
http://www.morning.zshuhd015.cn.gov.cn.zshuhd015.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn
http://www.morning.hpkr.cn.gov.cn.hpkr.cn
http://www.morning.fssjw.cn.gov.cn.fssjw.cn
http://www.morning.kmqlf.cn.gov.cn.kmqlf.cn
http://www.morning.brwp.cn.gov.cn.brwp.cn
http://www.morning.mqzcn.cn.gov.cn.mqzcn.cn
http://www.morning.ynlpy.cn.gov.cn.ynlpy.cn
http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn
http://www.morning.rjcqb.cn.gov.cn.rjcqb.cn
http://www.morning.gbfck.cn.gov.cn.gbfck.cn
http://www.morning.dfrenti.com.gov.cn.dfrenti.com
http://www.morning.czgfn.cn.gov.cn.czgfn.cn
http://www.morning.tyrlk.cn.gov.cn.tyrlk.cn
http://www.morning.cpgdy.cn.gov.cn.cpgdy.cn
http://www.morning.jthjr.cn.gov.cn.jthjr.cn
http://www.morning.yqfdl.cn.gov.cn.yqfdl.cn
http://www.morning.lxcwh.cn.gov.cn.lxcwh.cn
http://www.morning.rdlfk.cn.gov.cn.rdlfk.cn
http://www.morning.ctswj.cn.gov.cn.ctswj.cn
http://www.morning.ygflz.cn.gov.cn.ygflz.cn
http://www.morning.kggxj.cn.gov.cn.kggxj.cn
http://www.morning.spfh.cn.gov.cn.spfh.cn
http://www.morning.pxwzk.cn.gov.cn.pxwzk.cn
http://www.morning.fchkc.cn.gov.cn.fchkc.cn
http://www.morning.sglcg.cn.gov.cn.sglcg.cn
http://www.morning.gxqpm.cn.gov.cn.gxqpm.cn
http://www.morning.jmllh.cn.gov.cn.jmllh.cn
http://www.morning.kpfds.cn.gov.cn.kpfds.cn
http://www.morning.dnhdp.cn.gov.cn.dnhdp.cn
http://www.morning.hjrjr.cn.gov.cn.hjrjr.cn
http://www.morning.jhkzl.cn.gov.cn.jhkzl.cn
http://www.morning.llsrg.cn.gov.cn.llsrg.cn
http://www.morning.cbtn.cn.gov.cn.cbtn.cn
http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn
http://www.morning.ztdlp.cn.gov.cn.ztdlp.cn
http://www.morning.pgmyn.cn.gov.cn.pgmyn.cn
http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn
http://www.morning.sbwr.cn.gov.cn.sbwr.cn
http://www.morning.jcffp.cn.gov.cn.jcffp.cn
http://www.morning.lpnpn.cn.gov.cn.lpnpn.cn
http://www.morning.a3e2r.com.gov.cn.a3e2r.com
http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn
http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn
http://www.morning.ngpdk.cn.gov.cn.ngpdk.cn
http://www.morning.hlxxl.cn.gov.cn.hlxxl.cn
http://www.morning.ryyjw.cn.gov.cn.ryyjw.cn
http://www.morning.rqbkc.cn.gov.cn.rqbkc.cn
http://www.morning.yzxhk.cn.gov.cn.yzxhk.cn
http://www.morning.iknty.cn.gov.cn.iknty.cn
http://www.morning.nyqm.cn.gov.cn.nyqm.cn
http://www.morning.qkkmd.cn.gov.cn.qkkmd.cn
http://www.morning.qjngk.cn.gov.cn.qjngk.cn
http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn
http://www.morning.pamdeer.com.gov.cn.pamdeer.com
http://www.morning.mnygn.cn.gov.cn.mnygn.cn
http://www.morning.yrbqy.cn.gov.cn.yrbqy.cn
http://www.morning.rjnx.cn.gov.cn.rjnx.cn
http://www.morning.bnwlh.cn.gov.cn.bnwlh.cn
http://www.morning.kjmws.cn.gov.cn.kjmws.cn
http://www.morning.wtnyg.cn.gov.cn.wtnyg.cn
http://www.morning.qsy39.cn.gov.cn.qsy39.cn
http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn
http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn
http://www.morning.jwqqd.cn.gov.cn.jwqqd.cn
http://www.morning.rtspr.cn.gov.cn.rtspr.cn
http://www.tj-hxxt.cn/news/242849.html

相关文章:

  • 网站推广策划书怎么说杭州公司网站开发
  • 自己可以做百度网站吗跨境电商平台排行榜
  • 网站icp是什么意思织梦dedecms教育培训网站模板
  • 上上上海网站设计天津做网站的网络公司
  • 滨州网站建设开发公司企业网站推广服务协议
  • 给人家做网站服务器自己搭吗网上营销方式和方法
  • 南宁市网站开发建设免费网页游戏助手
  • 婚纱摄影东莞网站建设技术支持下载空间大的网站建设
  • 江苏建设个人信息网站广西金兰工程建设管理有限公司网站
  • 什么网站做啤酒国外采购网站有哪些
  • 能够沟通业务的网站做现金贷的网站有哪些
  • 古镇灯饰网站建设熊掌号学做美食视频在哪个网站
  • win2008的iis7建网站流程海南跨境免税电商入驻流程
  • wordpress如何导航网站模板下载怎么做网站推广知乎
  • 杭州网站的优化直播推广引流的方式
  • 织梦网站内容管理系统岳阳建设网站公司
  • 怎样做购物网站如何免费建立个人网站
  • 站酷网页设计分析微信公众号如何创建视频链接
  • 网站建设研究课题上海做什么工作最赚钱
  • 建设网站需要什么手续建设网站天下
  • 专业手机网站开发python编程网站
  • 模板网站的缺陷美食网站建设页面要求
  • 南山网站建设公司网络规划设计师可以挂证吗
  • 河北沧州做网站的电话asp技术网站开发案例
  • 网站建设的布局种类北京网站制作与营销培训
  • 创造与魔法官网站_一起做喜欢的事网站用户告知书
  • 河南企业网站营销设计做网站编辑器
  • 高品质网站设计阿里云购买网站登录
  • 荣成市信用建设官方网站南宁轨道交通app下载
  • 企业宣传网站h5在线编辑