How to create connection in node js with mysql?
Connectivity node with react:
First, you need to create a node project and then create a server.js
file and use the below code. Need to install express, body-parser, cors, MySQL.
Use this command: npm i mysql cors body-parser
express
srever.js
const express = require('express')
const http = require('http')
const app = express()
const bodyParser = require('body-parser')
const cors = require('cors')
const mysql = require('mysql')
const apiPort = 2020 // You can decide your port name as you wish
app.use(bodyParser.urlencoded({ extended: true }))
app.use(cors())
app.use(bodyParser.json())
const db = mysql.createConnection({
user: "yourUserName_user",
password : "yourPass@!@#`98",
host: "168.200.000.00",
database : "yourDbName_db",
// for the locally conectivity
// user: "yourusername",
// password: "yourpassword",
// host: "localhost"
})
db.connect(function(err) {
if (err) throw err
});
// Here will come your new code.
app.listen(apiPort, () => console.log(`Server running on port ${apiPort}`))
For single value you
need to add in the server.js file:
app.get('/category', (req, res) => {
db.query('SELECT id,cateName FROM tablecategory ORDER
BY cateName ASC', (err, result)=>{
if(err){
console.log(err);
}
else{
res.send(result)
}
//db.close();
})
})
app.post('/addcategory', (req, res) => {
// db.connect();
console.log(req.body.ExerciseName);
db.query('INSERT INTO tablecategory (cateName)
VALUES("'+req.body.cateTextName+'")', (err, result)=>{
if(err){
console.log(err);
}
else{
res.send(result)
}
//db.close();
})
})
For multiple value you
need to add in the server.js file:
// New test Category
app.get('/getTestCategory', (req, res) => {
// db.connect();
db.query('SELECT id,testName,testclassName,testtext,orgiName
FROM tableTestCategory ORDER BY testName ASC', (err, result)=>{
if(err){
console.log(err);
}
else{
res.send(result)
}
//db.close();
})
})
app.post('/addTestCategory', (req, res) => {
// db.connect();
console.log(req.body.testName);
db.query('INSERT INTO tableTestCategory(testName,testclassName,testtext,
orgiName) VALUES("'+req.body.testName+'", "'+req.body.testclassName+'", "'+req.body.testtextLevel+'", "'+req.body.orgiName+'")', (err, result)=>{
if(err){
console.log(err);
}
else{
res.send(result)
}
//db.close();
})
})
Need to go on the react project where you want to call your data
which coming from the mySql server. You can fetch your data as using axios:
let [exerciseLists, setExerciseLists] = useState([]);
useEffect( () => {
axios.get('http://localhost:2020/getTestCategory')
.then(response =>
setExerciseLists(response.data))
//.then(response =>
console.log(response.data))
}, [])
And you can access your data with react components.
<YourComponent property={exerciseLists} />
No comments:
Note: Only a member of this blog may post a comment.