一、安裝sequelize
1、在【終端】輸入
npm install --save sequelize
npm install --save mysql2
2、【db-config】中添加sequelize配置
,
sequelize:{
host:'127.0.0.1',
dialect:'mysql',
dialectOptions:{
// 字元集
charset:'utf8mb4',
collate:'utf8mb4_unicode_ci',
supportBigNumber:true,
bigNumberStrings:true
},
pool:{
max:5,
min:0,
acquire:30000,
idle:10000
},
define:{
freezeTableName:true,
timestamps:false,
paranoid:false,
operatorsAliases:false
},
timezone:'+08:00'
}
二、使用sequelize
1、建立【model】檔案夾,添加【user】的Model
内容代碼示例:
module.exports = function(sequelize,DataTypes){
return sequelize.define(
'user',
{
userid:{
type: DataTypes.BIGINT,
primaryKey: true,
autoIncrement: true
},
userrolecode:{
type: DataTypes.STRING,
field: 'userrolecode'
},
username:{
type: DataTypes.STRING,
field: 'username'
},
userphone:{
type: DataTypes.STRING,
field: 'userphone'
},
userpassword:{
type: DataTypes.STRING,
field: 'userpassword'
},
userdepartment:{
type: DataTypes.STRING,
field: 'userdepartment'
},
userzzname:{
type: DataTypes.STRING,
field: 'userzzname'
},
userzzprincial:{
type: DataTypes.STRING,
field: 'userzzprincial'
},
userzzphone:{
type: DataTypes.STRING,
field: 'userzzphone'
},
userkey:{
type: DataTypes.STRING,
field: 'userkey'
},
userorganization:{
type: DataTypes.STRING,
field: 'userorganization'
},
userorganizationcode:{
type: DataTypes.STRING,
field: 'userorganizationcode'
}
}
);
}
2、為了統一管理模型,在【model】裡建立【index.js】檔案
内容示例代碼為:
// 統一管理模型
const config=require('../config/db-config');
const Sequelize = require("sequelize");
const {QueryTypes,DataTypes} = require("sequelize");
var sequelizeObj = new Sequelize(
config.mysql.database,
config.mysql.user,
config.mysql.password,
config.sequelize);
const user = require('../model/user')(sequelizeObj,DataTypes) // 使用者表
const role = require('../model/role')(sequelizeObj,DataTypes) // 角色表
role.hasMany(user,{ // 一對多
foreignKey:'userrolecode',
sourceKey:'roleid' //源模型
})
user.belongsTo(role,{ // 一對一
foreignKey:'userrolecode',
targetKey:'roleid' //目标模型
//表示user表中的roleid屬性指role表中的id屬性
})
module.exports = {user,role}
3、在【userDao】中添加sequelize方法
示例代碼:
const allSqlAction=require('../lib/mysql')
const {user,role}=require('../model/index')
// 連接配接和使用資料庫=>操作資料庫
module.exports={
// 根據手機号查找使用者
searchUserByPhone:async(query)=>{
try{
console.log("傳到userDao的查詢條件為:")
console.log(query)
let result=await user.findAll({
where:{
'userphone':query
},
include:[role]
});
return result;
}catch(error){
console.log("根據手機号查找使用者錯誤:" + error);
return null;
}
},
// 查找所有的角色
searchAllRoles:async(rolename)=>{
try{
let result=await role.findAll({
attributes:['roleid','rolename'],
raw:true,
})
return result;
}catch(error){
console.log("查找使用者角色錯誤:" + error);
}
}
}
三、不保證原創
内容來自學習課件ppt,不保證原創