MySQL操作数据库

 

这是我在官网上找的,每种方法有相对应的请求方式:

 

MethodPathRoute NameController.Action
GET/postspostsapp.controllers.posts.index
GET/posts/newnew_postapp.controllers.posts.new
GET/posts/:idpostapp.controllers.posts.show
GET/posts/:id/editedit_postapp.controllers.posts.edit
POST/postspostsapp.controllers.posts.create
PUT/posts/:idpostapp.controllers.posts.update
DELETE/posts/:idpostapp.controllers.posts.destroy

 

获取库数据 select

controller文件:

async select(){
    const data = awact this.ctx.service.jian.select()
                          //service文件 /jian.js文件 /select函数               
    this.ctx.body = data
}

service文件:

async select(){
    const data = this.app.mysql.get('db2').select('gzjl')
                      //必须要都的,获取'db2'数据源.select方法
    return {data}
}

用get请求数据

create创建并插入新数据

controller:

async create(){
    ctx = this.ctx;
    const data = await ctx.service.jian.create()
    ctx.body = data
}

service:

async create(){
   const obj={
     库里的属性:要修改的数据 
   }
   const data = await this.app.mysql.get('db1').insert('gzjl',obj)
   return {data}
}

请求数据时也可以在第二个参数传对象修改

url:

Axios.post('/gzjl',{},{}).then((res)=>{
            console.log(res)
        })

 

delete删除数据库

controller:

async delete(){
   const ctx = this.ctx
   const data = await ctx.service.jianli.delete()
   ctx.body = data
}

service:

async delete(){
  const data = async this.app.mysql.get('db1').delete('gzjl',{id:1})
  return {data}
}

url:

Axios.delete('/gzjl/:1',{},{}).then((res)=>{
  console.log(res)
})

 

update动态更新数据:

controller:

  async update(){
        const ctx = this.ctx;
        const data = await ctx.service.jianli.update()
        ctx.body = data
    }

service:

 async update(){
        const params = ctx.request.body;
            //获取传参,修改数据必须
        const userId = ctx.params.id;
        const obj = {
          id: userId,
          name: params.name,
          age: params.age,
          banji: params.banji,
          xingbie: params.xingbie,
          zhuang: params.zhuang
            //注意,注意,一定要查看你要修改的类型和你输入的数据一致
            //我就因为在数字里输入字符串报错半天
        }
        const date = await this.app.mysql.get('db1').update('gzjl',obj)
        return {date}
    }

url:

const { index,name, banji, xingbie, age, zhuang } = this.state
Axios.put(`/gzjl/${index + 1}`,{
           name: name,
           banji: banji, 
           xingbie, 
           age: age,
           zhuang: zhuang
//动态传数据
}).then((res)=>{console.log(res)})

get查询id数据:

     controller:

 async show() {
        const ctx = this.ctx;
        const userId = ctx.params.id;
        // ctx.params.id是地址栏/后跟加的id值
        // ctx可能是app文件夹
        // ctx.service.users 能获取到service里的users.find函数
        const user = await ctx.service.student.find(userId)
        ctx.body = user;
    }

service:


  async find(uid) {
    // 假如 我们拿到用户 id 从数据库获取用户详细信息
    const user = await this.app.mysql.get('db2').get('students', { id: uid });
    return { user };
  }

url:

Axios.get('/student').then((res) => {
       console.log(res.data)        
    })

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值