koa se connecte à la base de données mysql et effectue de simples ajouts, suppressions et modifications

Connectez-vous à la base de données

Débutant élémentaire, configurez temporairement la base de données dans le routage pour la commodité du diagramme, le pool de connexions n'est pas utilisé et le fichier de routage

const mysql = require('mysql')  //引入数据库插件
const koaRouter = require('koa-router');
const router = koaRouter();

//连接数据库
const connection = mysql.createConnection({
    
    
	host: 'localhost',
	user: 'root',
	password: '123456',
	port: '3306',
	database: 'testnode'
})
//新增数据
router.post('/add', async (ctx, next) => {
    
    
	console.log(Boolean( ctx.request.query.name && ctx.request.query.address && ctx.request.query.phone))
	if(ctx.request.query.phone && ctx.request.query.address && ctx.request.query.name){
    
    
		
		var data = {
    
    }
		var createdTime=new Date()
		var querySql="INSERT INTO address (createdTime,name,address,phone,belongsId) VALUES(?,?,?,?,?)"
		var queryParams=[createdTime,ctx.request.query.name,ctx.request.query.address,ctx.request.query.phone,ctx.request.query.userId]
		console.log(queryParams)
		var searchSql = (querySql,queryParams) => {
    
    
			return new Promise((resolve, reject) => {
    
    
				console.log('准备查询')
				connection.query(querySql,queryParams, function(err, result) {
    
    
					if(err){
    
    
						reject(0)
						console.log(err+'err')
					}
					resolve(result)
				})
			})
		}
		var res= await searchSql(querySql,queryParams)
		if(res){
    
    
			data.code='0'
			data.msg="添加成功"
			ctx.body=data
		}else{
    
    
			data.code='1'
			data.msg="添加失败"
			ctx.body=data
		}
	}
});
//查询数据
router.get('/query', async (ctx, next) => {
    
    
	var data = {
    
    }
	console.log(ctx.request.query.pageNo - 1)
	var querySql="SELECT * FROM address where belongsId= '"+ctx.request.query.userId+"' limit "+ (ctx.request.query.pageNo-1)*ctx.request.query.pageSize+"," + ctx.request.query.pageSize
	var querySqlNo="SELECT * FROM address where belongsId= '"+ctx.request.query.userId+"'"
	var searchSql = (thesql) => {
    
    
		return new Promise((resolve, reject) => {
    
    
			console.log('准备查询')
			connection.query(thesql, function(err, result) {
    
    
				if(err){
    
    
					reject(0)
					console.log(err+'err')
				}
				resolve(result)
			})
		})
	}
	var res= await searchSql(querySqlNo)
	if(res){
    
    
		var datares= await searchSql(querySql)
		if(datares){
    
    
			var param={
    
    list:datares,total:res.length}
			data.code='0'
			data.msg="成功获取"
			data.data=param
			ctx.body=data
		}
		
	}
})
//更新数据
router.post('/update', async (ctx, next) => {
    
    
	var updateSql="UPDATE address SET name = '"+ctx.request.query.name+"', phone = '" + ctx.request.query.phone + "', address = '" + ctx.request.query.address +"' where id = '" +ctx.request.query.id + "'"
	var searchSql = (thesql) => {
    
    
		return new Promise((resolve, reject) => {
    
    
			connection.query(thesql, function(err, result) {
    
    
				if(err){
    
    
					reject(1)
					console.log(err+'err')
				}
				resolve(0)
			})
		})
	}
	var data={
    
    }
	var res= await searchSql(updateSql)
	
	if(res==0){
    
    
		data.msg="更新成功"
		data.code=0
		ctx.body=data
	}else{
    
    
		data.code=1
		data.msg="更新失败,请稍后再试!"
		ctx.body=data
	}
});
//删除数据
router.post('/remove', async (ctx, next) => {
    
    
	var deleteSql="DELETE FROM address WHERE "+"id='"+ctx.request.query.id + "'"
	var searchSql = (thesql) => {
    
    
		return new Promise((resolve, reject) => {
    
    
			connection.query(thesql, function(err, result) {
    
    
				if(err){
    
    
					reject(1)
					console.log(err+'err')
				}
				resolve(0)
			})
		})
	}
	var data={
    
    }
	var res= await searchSql(deleteSql)
	
	if(res==0){
    
    
		data.msg="删除成功"
		data.code=0
		ctx.body=data
	}else{
    
    
		data.code=1
		data.msg="删除失败,请稍后再试!"
		ctx.body=data
	}
});

Points forts

  1. Instructions d'opération SQL de raccordement
  2. Exécuter l'instruction d'opération SQL
  3. résultat du processus

Ajouter, supprimer, modifier et vérifier l'instruction SQL
Add: INSERT INTO address (createdTime, nom, adresse, téléphone, appartientId) VALUES (?,?,?,?,?)
Var queryParams = [createdTime, ctx.request.query.name , ctx.request .query.address, ctx.request.query.phone, ctx.request.query.userId]
adresse est le nom de la table de requête queryParams les nouvelles données insérées correspondent-elles à ce qui précède? Vous pouvez également remplacer directement le point d'interrogation par la valeur correspondante.
Supprimer: "DELETE FROM address WHERE" + "id = '11111" "id =' 11111 'est la condition qui satisfait à la suppression. L'
adresse est le nom de la table de requête . WHERE est celui qui satisfait la suppression.
Changement de condition : "UPDATE address SET name = '" + ctx.request.query.name + "', phone = '" + ctx.request.query.phone + "', address = '"+ ctx.request.query.address +"' où id = '"+ ctx.request.query.id +"' "
adresse est le nom de la table de requête. Entre SET et où se trouvent les données à insérer. Après où se trouve l'identifiant des données à insérer.
Vérifiez: SELECT * FROM adresse où appartientId = '"+ ctx.request.query.userId +"' limit "+ (ctx.request.query.pageNo-1) * ctx.request.query.pageSize +", "+ ctx.request .query.pageSize
pageNo est le numéro de la page de requête pageSize est le numéro de la requête appartientId = "" est l'adresse de la condition de requête est le nom de la table de requête

La méthode d'exécution de l'instruction SQL peut être un package unifié pour réduire la quantité de code

var searchSql = (thesql) => {
    
    
		return new Promise((resolve, reject) => {
    
    
			connection.query(thesql, function(err, result) {
    
    
				if(err){
    
    
					reject(1) //返回状态
					console.log(err+'err')
				}
				resolve(0) //返回状态 //只有查询有具体返回内容
			})
		})
	}

Je suppose que tu aimes

Origine blog.csdn.net/qq_40969782/article/details/113998964
conseillé
Classement