更改数据库为sqlite
This commit is contained in:
parent
4cf2b8e1de
commit
b97225d52d
25
app.js
25
app.js
@ -5,22 +5,33 @@ const logger = require('morgan');
|
|||||||
const cors = require('cors');
|
const cors = require('cors');
|
||||||
const session = require('express-session');
|
const session = require('express-session');
|
||||||
const cookieParser = require('cookie-parser');
|
const cookieParser = require('cookie-parser');
|
||||||
|
|
||||||
const indexRouter = require('./routes/index');
|
const indexRouter = require('./routes/index');
|
||||||
const mongodbConfig = require('./db/mongodb.config');
|
|
||||||
|
// mongodb数据库连接
|
||||||
|
// const mongodbConfig = require('./db/mongodb.config');
|
||||||
|
// sqlite3数据库连接
|
||||||
|
const sqliteConfig = require('./db/sqlite.config');
|
||||||
|
|
||||||
const loginUtils = require("./utils/LoginUtil");
|
const loginUtils = require("./utils/LoginUtil");
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
// 导入env
|
// 导入env
|
||||||
require("dotenv").config();
|
require("dotenv").config();
|
||||||
const dbAccount = process.env.DB_ACCOUNT;
|
|
||||||
const dbPassword = process.env.DB_PASSWORD;
|
|
||||||
const loginSecret = process.env.SESSION_SECRET;
|
const loginSecret = process.env.SESSION_SECRET;
|
||||||
console.log(dbAccount, dbPassword);
|
|
||||||
mongodbConfig.connectMongoDB(dbAccount, dbPassword);
|
|
||||||
|
|
||||||
app.use(cors({ origin: 'http://localhost:5173', credentials: true }));
|
// const databaseAccount = process.env.DB_ACCOUNT;
|
||||||
|
// const databasePassword = process.env.DB_PASSWORD;
|
||||||
|
// mongodbConfig.connectMongoDB(databaseAccount, databasePassword);
|
||||||
|
|
||||||
|
const db = sqliteConfig.connectSqlite();
|
||||||
|
|
||||||
|
const userMapper = require("./dao/userMapper");
|
||||||
|
const User = require('./models/user.model');
|
||||||
|
console.log(userMapper.selectAllUser());
|
||||||
|
|
||||||
|
|
||||||
|
// app.use(cors({ origin: 'http://localhost:5173', credentials: true }));
|
||||||
app.use(logger('dev'));
|
app.use(logger('dev'));
|
||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
app.use(express.urlencoded({ extended: false }));
|
app.use(express.urlencoded({ extended: false }));
|
||||||
|
|||||||
0
controllers/user.controller.js
Normal file
0
controllers/user.controller.js
Normal file
189
dao/userMapper.js
Normal file
189
dao/userMapper.js
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
const sqlite = require('../db/sqlite.config');
|
||||||
|
const User = require("../models/user.model");
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {*} id
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
exports.selectById = async (id) => {
|
||||||
|
let db;
|
||||||
|
|
||||||
|
try {
|
||||||
|
db = await sqlite.connectSqlite();
|
||||||
|
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], async function (err, rows) {
|
||||||
|
if (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
return await getUser(rows);
|
||||||
|
});
|
||||||
|
|
||||||
|
const rows = await new Promise((resolve, reject) => {
|
||||||
|
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], (err, rows) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve(rows);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return await getUser(rows);
|
||||||
|
} catch (err) {
|
||||||
|
throw err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
await db.close();
|
||||||
|
} catch (error) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {*} name
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
exports.selectByName = async (name) => {
|
||||||
|
let db;
|
||||||
|
|
||||||
|
try {
|
||||||
|
db = await sqlite.connectSqlite();
|
||||||
|
|
||||||
|
const rows = await new Promise((resolve, reject) => {
|
||||||
|
db.all('SELECT * FROM USERS', async function (err, rows) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve(rows);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
return await getUser(rows);
|
||||||
|
} catch (err) {
|
||||||
|
throw err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
await db.close();
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.selectAllUser = async () => {
|
||||||
|
let db;
|
||||||
|
|
||||||
|
try {
|
||||||
|
db = await sqlite.connectSqlite();
|
||||||
|
const rows = await new Promise((reject, resolve) => {
|
||||||
|
db.all('SELECT * FROM USERS', async function (err, rows) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
resolve(rows)
|
||||||
|
});
|
||||||
|
})
|
||||||
|
return await getUser(rows);
|
||||||
|
} catch (err) {
|
||||||
|
throw err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
await db.close();
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {*} User
|
||||||
|
*/
|
||||||
|
exports.insertUser = async (User) => {
|
||||||
|
let db;
|
||||||
|
|
||||||
|
try {
|
||||||
|
db = await sqlite.connectSqlite();
|
||||||
|
|
||||||
|
const user = await new Promise((resolve, reject) => {
|
||||||
|
db.run('INSERT \
|
||||||
|
INTO USERS(USER_ACCOUNT, USER_NAME, PASSWORD, EMAIL, MOBILE) \
|
||||||
|
VALUES(?, ?, ?, ?, ?)',
|
||||||
|
[User.user_account, User.user_name, User.password, User.email, User.mobile],
|
||||||
|
async function (err) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
console.log(this + '-----');
|
||||||
|
resolve(this);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
throw error
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
await db.close();
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param password
|
||||||
|
* @param userId
|
||||||
|
*/
|
||||||
|
exports.updatePassword = async (password, userId) => {
|
||||||
|
let db;
|
||||||
|
|
||||||
|
try {
|
||||||
|
db = await sqlite.connectSqlite();
|
||||||
|
const thisUpdate = await new Promise((resolve, reject) => {
|
||||||
|
db.run(
|
||||||
|
"UPDATE USERS SET PASSWORD = ? WHERE ID = ?;",
|
||||||
|
[password, userId],
|
||||||
|
async function (err) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
resolve(this);
|
||||||
|
}
|
||||||
|
)
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
throw error;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
await db.close();
|
||||||
|
} catch (error) {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param rows
|
||||||
|
*/
|
||||||
|
getUser = async (rows) => {
|
||||||
|
let users = new Array();
|
||||||
|
|
||||||
|
rows.map((value, index) => {
|
||||||
|
users[index] = new User(
|
||||||
|
value.id,
|
||||||
|
value.user_account,
|
||||||
|
value.user_name,
|
||||||
|
value.password,
|
||||||
|
value.email,
|
||||||
|
value.mobile,
|
||||||
|
value.status,
|
||||||
|
value.create_time,
|
||||||
|
value.update_time);
|
||||||
|
});
|
||||||
|
|
||||||
|
return users;
|
||||||
|
}
|
||||||
27
db/create-table-template.sql
Normal file
27
db/create-table-template.sql
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- 创建用户信息表
|
||||||
|
CREATE TABLE users (
|
||||||
|
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
`user_account` VARCHAR(255) UNIQUE NOT NULL,
|
||||||
|
`user_name` VARCHAR(255) NOT NULL,
|
||||||
|
`password` VARCHAR(255) NOT NULL,
|
||||||
|
`email` VARCHAR(255),
|
||||||
|
`mobile` VARCHAR(255),
|
||||||
|
`status` VARCHAR(100) DEFAULT 'NORMAL',
|
||||||
|
`create_time` TIMESTAMP DEFAULT (datetime('now', 'localtime')),
|
||||||
|
`update_time` TIMESTAMP DEFAULT (datetime('now', 'localtime'))
|
||||||
|
);
|
||||||
|
|
||||||
|
DELETE FROM USERS
|
||||||
|
|
||||||
|
-- Active: 1719656873604@@127.0.0.1@3306
|
||||||
|
INSERT
|
||||||
|
INTO users (user_account, user_name, `password`, email)
|
||||||
|
VALUES
|
||||||
|
('test2', '1', '123456', '2712495353@qq.com');
|
||||||
|
|
||||||
|
INSERT
|
||||||
|
INTO users (user_account, user_name, `password`, email)
|
||||||
|
VALUES
|
||||||
|
('test4', '1', '123456', '2712495354@qq.com');
|
||||||
|
|
||||||
|
SELECT * FROM `USERS`
|
||||||
13
db/sqlite.config.js
Normal file
13
db/sqlite.config.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
const sqlite3 = require("sqlite3").verbose();
|
||||||
|
|
||||||
|
exports.connectSqlite = function () {
|
||||||
|
return db = new sqlite3.Database(
|
||||||
|
"./express.db",
|
||||||
|
sqlite3.OPEN_READWRITE,
|
||||||
|
function (err) {
|
||||||
|
if (err) {
|
||||||
|
return console.log(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
BIN
express.db
Normal file
BIN
express.db
Normal file
Binary file not shown.
109
models/user.model.js
Normal file
109
models/user.model.js
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
class User {
|
||||||
|
id;
|
||||||
|
user_account;
|
||||||
|
user_name;
|
||||||
|
password;
|
||||||
|
email;
|
||||||
|
mobile;
|
||||||
|
status;
|
||||||
|
create_time;
|
||||||
|
update_time;
|
||||||
|
|
||||||
|
constructor(id, user_account, user_name, password, email, mobile, status, create_time, update_time) {
|
||||||
|
this.id = id;
|
||||||
|
this.user_account = user_account;
|
||||||
|
this.user_name = user_name;
|
||||||
|
this.password = password;
|
||||||
|
this.email = email;
|
||||||
|
this.mobile = mobile;
|
||||||
|
this.status = status;
|
||||||
|
this.create_time = create_time;
|
||||||
|
this.update_time = update_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
getId() {
|
||||||
|
return this._id;
|
||||||
|
}
|
||||||
|
|
||||||
|
setId(id) {
|
||||||
|
this._id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
getUserAccount() {
|
||||||
|
return this.user_account;
|
||||||
|
}
|
||||||
|
|
||||||
|
setUserAccount(value) {
|
||||||
|
this.user_account = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
getUserName() {
|
||||||
|
return this.user_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
setUserName(user_name) {
|
||||||
|
this.user_name = user_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
getPassword() {
|
||||||
|
return this.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
setPassword(password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
getEmail() {
|
||||||
|
return this.email;
|
||||||
|
}
|
||||||
|
|
||||||
|
setEmail(email) {
|
||||||
|
this.email = email;
|
||||||
|
}
|
||||||
|
|
||||||
|
getMobile() {
|
||||||
|
return this.mobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
setMobile(mobile) {
|
||||||
|
this.mobile = mobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
getStatus() {
|
||||||
|
return this.status;
|
||||||
|
}
|
||||||
|
|
||||||
|
setStatus(status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
getCreateTime() {
|
||||||
|
return this.create_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
setCreateTime(create_time) {
|
||||||
|
this.create_time = create_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
getUpdateTime() {
|
||||||
|
return this.update_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
setUpdateTime(update_time) {
|
||||||
|
this.update_time = update_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
toString() {
|
||||||
|
return '\n' + this.id + '\n'
|
||||||
|
+ this.user_name + '\n'
|
||||||
|
+ this.user_account + '\n'
|
||||||
|
+ this.password + '\n'
|
||||||
|
+ this.email + '\n'
|
||||||
|
+ this.mobile + '\n'
|
||||||
|
+ this.status + '\n'
|
||||||
|
+ this.create_time + '\n'
|
||||||
|
+ this.update_time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = User;
|
||||||
1366
package-lock.json
generated
1366
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -19,6 +19,7 @@
|
|||||||
"jade": "^0.29.0",
|
"jade": "^0.29.0",
|
||||||
"mongoose": "^8.3.4",
|
"mongoose": "^8.3.4",
|
||||||
"morgan": "~1.9.1",
|
"morgan": "~1.9.1",
|
||||||
"nodemon": "^3.1.0"
|
"nodemon": "^3.1.0",
|
||||||
|
"sqlite3": "^5.1.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
0
service/userService.js
Normal file
0
service/userService.js
Normal file
Loading…
Reference in New Issue
Block a user