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

怎样优化网站 优帮云推几个学习网站

怎样优化网站 优帮云,推几个学习网站,网上黑赌网站如何做代理,网络营销常见的工具背景 上一章 Go语言开发基于SQLite数据库实现用户表新增接口(二) 这一章我们实现用户表的查询详情接口 代码实现 mapper层 type UserMapper interface {GetById(id uint64) (*model.User, error)}type userMapper struct { }func (m *userMapper) GetById(id uint64) (*mod…背景 上一章 Go语言开发基于SQLite数据库实现用户表新增接口(二) 这一章我们实现用户表的查询详情接口 代码实现 mapper层 type UserMapper interface {GetById(id uint64) (*model.User, error)}type userMapper struct { }func (m *userMapper) GetById(id uint64) (*model.User, error) {// 创建 model.User 的指针实例user : model.User{}result, err : model.GetById(user.TableName(), id, user)if err ! nil {return nil, err}// 确保返回的结果是 *model.User 类型user, ok : result.(*model.User)if !ok {return nil, fmt.Errorf(expected *model.User, but got %T, result)}return user, nil } ModelTable实现 func GetById(tableName string, id uint64, dest interface{}) (interface{}, error) {// 确保 dest 是指针类型val : reflect.ValueOf(dest)if val.Kind() ! reflect.Ptr || val.IsNil() {return nil, fmt.Errorf(dest must be a non-nil pointer)}// 构造 SQL 查询query : fmt.Sprintf(SELECT * FROM %s WHERE id ? LIMIT 1, tableName)// 执行查询row : config.Db.QueryRow(query, id)// 获取结构体的字段fieldPointers, err : getFieldPointers(reflect.TypeOf(dest).Elem(), reflect.ValueOf(dest).Elem())if err ! nil {return nil, err}// 使用 Scan 将查询结果映射到结构体err row.Scan(fieldPointers...)if err ! nil {if err sql.ErrNoRows {return nil, fmt.Errorf(No rows found with id %d, id)}return nil, err}return dest, nil }// 递归地获取结构体字段的指针支持嵌套结构体 func getFieldPointers(t reflect.Type, v reflect.Value) ([]interface{}, error) {var fieldPointers []interface{}for i : 0; i t.NumField(); i {field : t.Field(i)fieldValue : v.Field(i)// 如果字段是结构体类型递归进入if fieldValue.Kind() reflect.Struct {// 递归处理嵌套的结构体字段nestedPointers, err : getFieldPointers(field.Type, fieldValue)if err ! nil {return nil, err}fieldPointers append(fieldPointers, nestedPointers...)} else {// 否则将字段的指针添加到字段指针数组fieldPointers append(fieldPointers, fieldValue.Addr().Interface())}}return fieldPointers, nil }这里我们映射的结构体中的对应db字段 这样的好处是我们这个方法是基础方法其他结构体中只要有ModelTable结构体我们就可以直接继续使用了。 service层 type UserService interface {GetById(id uint64) (*model.User, error)}service实现层 type UserServiceImpl struct {m mapper.UserMapper }func (u UserServiceImpl) GetById(id uint64) (*model.User, error) {return u.m.GetById(id) } controller层 type UserController struct {UserService service.UserService }func (u *UserController) GetById(rc *req.Ctx) {id : uint64(req.PathParamInt(rc.GinCtx, id))user, err : u.UserService.GetById(id)assert.IsNil(err)rc.ResData user } 这里有个PathParamInt方法 获取路径上面的参数 func PathParamInt(g *gin.Context, pm string) int {value, _ : strconv.Atoi(g.Param(pm))return value }接口 测试 源码地址 使用Go语言开发基于SQLite数据库实现用户表相关接口项目示例可进行扩展拿来即用 参考 代码风格参考的mayfly-go SQLite这块是自己实现的
文章转载自:
http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn
http://www.morning.weitao0415.cn.gov.cn.weitao0415.cn
http://www.morning.qyglt.cn.gov.cn.qyglt.cn
http://www.morning.dkcpt.cn.gov.cn.dkcpt.cn
http://www.morning.txzmy.cn.gov.cn.txzmy.cn
http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn
http://www.morning.mttqp.cn.gov.cn.mttqp.cn
http://www.morning.synkr.cn.gov.cn.synkr.cn
http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn
http://www.morning.pskjm.cn.gov.cn.pskjm.cn
http://www.morning.pwwdp.cn.gov.cn.pwwdp.cn
http://www.morning.yrms.cn.gov.cn.yrms.cn
http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn
http://www.morning.bdgb.cn.gov.cn.bdgb.cn
http://www.morning.gwxsk.cn.gov.cn.gwxsk.cn
http://www.morning.zkqwk.cn.gov.cn.zkqwk.cn
http://www.morning.rxlck.cn.gov.cn.rxlck.cn
http://www.morning.tsynj.cn.gov.cn.tsynj.cn
http://www.morning.qtryb.cn.gov.cn.qtryb.cn
http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn
http://www.morning.tdmr.cn.gov.cn.tdmr.cn
http://www.morning.wskn.cn.gov.cn.wskn.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.kkhf.cn.gov.cn.kkhf.cn
http://www.morning.zwsgl.cn.gov.cn.zwsgl.cn
http://www.morning.zstry.cn.gov.cn.zstry.cn
http://www.morning.lhhdy.cn.gov.cn.lhhdy.cn
http://www.morning.bwgrd.cn.gov.cn.bwgrd.cn
http://www.morning.kzdwt.cn.gov.cn.kzdwt.cn
http://www.morning.bnmrp.cn.gov.cn.bnmrp.cn
http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn
http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn
http://www.morning.rccbt.cn.gov.cn.rccbt.cn
http://www.morning.tslwz.cn.gov.cn.tslwz.cn
http://www.morning.lgqdl.cn.gov.cn.lgqdl.cn
http://www.morning.lbxcc.cn.gov.cn.lbxcc.cn
http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn
http://www.morning.kpzbf.cn.gov.cn.kpzbf.cn
http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn
http://www.morning.pzlhq.cn.gov.cn.pzlhq.cn
http://www.morning.spghj.cn.gov.cn.spghj.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.spwm.cn.gov.cn.spwm.cn
http://www.morning.ypmqy.cn.gov.cn.ypmqy.cn
http://www.morning.qsdnt.cn.gov.cn.qsdnt.cn
http://www.morning.qnywy.cn.gov.cn.qnywy.cn
http://www.morning.sbwr.cn.gov.cn.sbwr.cn
http://www.morning.ppbqz.cn.gov.cn.ppbqz.cn
http://www.morning.dxsyp.cn.gov.cn.dxsyp.cn
http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn
http://www.morning.xnpj.cn.gov.cn.xnpj.cn
http://www.morning.hmgqy.cn.gov.cn.hmgqy.cn
http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn
http://www.morning.ylqrc.cn.gov.cn.ylqrc.cn
http://www.morning.ypbp.cn.gov.cn.ypbp.cn
http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn
http://www.morning.xyjlh.cn.gov.cn.xyjlh.cn
http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn
http://www.morning.jpgfq.cn.gov.cn.jpgfq.cn
http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn
http://www.morning.knpmj.cn.gov.cn.knpmj.cn
http://www.morning.kdrly.cn.gov.cn.kdrly.cn
http://www.morning.cwtrl.cn.gov.cn.cwtrl.cn
http://www.morning.ptqbt.cn.gov.cn.ptqbt.cn
http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn
http://www.morning.ncrk.cn.gov.cn.ncrk.cn
http://www.morning.kpcky.cn.gov.cn.kpcky.cn
http://www.morning.nqgff.cn.gov.cn.nqgff.cn
http://www.morning.rnmyw.cn.gov.cn.rnmyw.cn
http://www.morning.lzqxb.cn.gov.cn.lzqxb.cn
http://www.morning.sgnxl.cn.gov.cn.sgnxl.cn
http://www.morning.sxjmz.cn.gov.cn.sxjmz.cn
http://www.morning.mlntx.cn.gov.cn.mlntx.cn
http://www.morning.nnmnz.cn.gov.cn.nnmnz.cn
http://www.morning.chkfp.cn.gov.cn.chkfp.cn
http://www.morning.bsqkt.cn.gov.cn.bsqkt.cn
http://www.morning.qkpzq.cn.gov.cn.qkpzq.cn
http://www.morning.glpxx.cn.gov.cn.glpxx.cn
http://www.morning.nccyc.cn.gov.cn.nccyc.cn
http://www.morning.qtkfp.cn.gov.cn.qtkfp.cn
http://www.tj-hxxt.cn/news/260890.html

相关文章:

  • 大学生作业代做网站网站建设销售职责
  • 两个人做类似的梦 网站wordpress安装tomcat
  • 建设网站的功能定位是什么意思免费网站大全下载
  • 深圳网站的公司小火箭服务器节点购买
  • 重庆网站制作部门网站建设管理制度
  • 首页有动效的网站个人网站的建设
  • 建设银行网站显示404如何制作h5动态画面
  • 企业宣传网站设计论文163免费注册入口
  • wordpress 回收站在哪专业网站设计制作优化排名
  • 深圳网站建设哪个好html指什么
  • 网站原创文章来源网站建设 上寻模板
  • 建设网站哪家公司比较好wordpress wpenqueuescripts
  • 建设网站多少钱 郑州免费ppt模板下载大全 完整版无需会员
  • 用dw做教学网站众筹网站开发分析报告
  • 邢台做网站推广费用大连优化排名推广
  • 线上推广引流是做网站吗ui设计师技术面试问题
  • 济南高新区建设局网站做兼职上什么网站找
  • 优秀网站ui设计手机app下载官方免费下载安装
  • 阜新建设网站深圳外贸英文网站设计联系电话
  • 本机网站环境搭建比较出名的网站建设公司
  • 南平网站设计php网站开发工程师招聘网
  • 博罗惠州网站建设扬中市住房和城乡建设局网站
  • 做电影网站心得体会网站开发 渠道
  • h5页面可以跳转到小程序吗泰兴网站优化
  • 加猛挣钱免费做网站软件成都餐饮网站建设
  • 的建站网站旅行网站开发意义
  • seo优化总结行业seo网站优化方案
  • 网站建设如何接单外发加工网会员
  • 成都市建设监理协会网站蛋糕电子商务网站建设方案
  • 襄阳网站建设价格wordpress标签插件下载