(async function(){
const mysql=require('mysql2/promise')
const koa=require('koa')
const Static=require('koa-static-cache')
const Router=require('koa-router')
const bodyParser = require('koa-bodyparser')
const fs=require('fs')
const app=new koa()
const router=new Router()
app.use(bodyParser())
app.use(Static('./static',{
prefix:'/static',
gzip:true
}))
const connection=await mysql.createConnection({
host:'localhost',
user:'root',
password:'root',
database:'test'
})
let arr=await connection.query('SELECT * FROM todolist')
const content=fs.readFileSync('./static/index.html')
router.get('/list',async ctx=>{
let [arr]=await connect.query('SELECT * FROM todolist')
ctx.body={
code:0,
data:arr
}
})
router.post('/add',async(ctx,next)=>{
const {name,price,number}=ctx.request.body
let [data]=await connection.query("INSERT INTO todolist (name,price,number) VALUES ("+name+","+price+","+number+")")
if(data.affectedRows>0){
ctx.body={
code:0,
msg:"添加成功"
}
}else{
ctx.body={
code:1,
msg:"添加失败"
}
}
})
router.post('/change',async(ctx,next)=>{
const {name,price,number}=ctx.request.body
let query="UPDATE todolist SET name=?,price=?,number=? WHERR id=?"
const value=[id,name,price,number]
let [data]=await connection.query(query,value)
if(data.affectedRows>0){
ctx.body={
code:0,
msg:"修改成功"
}
}else{
ctx.body={
code:1,
msg:"修改失败"
}
}
})
router.post('/remove',async ctx=>{
const id=ctx.request.body.id
let query="DELETE FROM todolist WHERE id=?"
const value=id
let [data]=await connection.query(query,value)
if(data.affectedRows>0){
ctx.body={
code:0,
msg:"删除成功"
}
}else{
ctx.body={
code:1,
msg:"删除失败"
}
}
})
app.use(router.routes())
app.listen(8080)
})()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探