基于Springboot + vue + mysql 致远汽车租赁管理系统 设计实现

news2024/11/14 13:46:40

目录

📚 前言

📑摘要

1.1 研究背景

📑操作流程

📚 系统架构设计

📚 数据库设计

   💬 E-R表

4.2.2物理模型设计

系统功能模块

系统首页

用户注册

​编辑

汽车租赁

个人中心

管理员功能模块

管理员登录

管理员首页

用户管理

业务员管理

汽车类型管理

租赁汽车管理

汽车租赁管理

业务员功能模块

业务员登录

汽车归还管理

用户功能模块 

用户登录

个人中心

检查信息管理

我的收藏管理

✒️ 源码实现

部分功能

springboot全局配置文件 

💖 源码获取

😁 联系方式


📚 前言

📑博客主页:@丘比特惩罚陆

💖欢迎关注:点赞收藏⭐留言✒
💬系列专栏:Java Springboot 毕设实战专栏
🎮 加入社区: 丘比特惩罚陆
🥇人生格言:选对方向,每走一步都是进步!
✒️欢迎大佬指正,一起学习!一起加油!

👏 希望大家能小手一动,帮忙点个赞!

📑摘要

1.1 研究背景

困扰公司的许多问题当中,致远汽车租赁管理一定是公司不敢忽视的一块。但是管理好致远汽车租赁又面临很多麻烦需要解决,例如有几个方面:第一,公司往往汽车数量都比较多,如何保证能够管理到每一汽车;第二,如何在工作琐碎,记录繁多的情况下将致远汽车租赁的当前情况反应给公司领导相关部门决策,等等。在此情况下开发一款致远汽车租赁系统,于是乎变得非常合乎时宜。

经过网上调查和搜集数据,我们可以发现致远汽车租赁管理方面的系统在公司中并不是相当普及,公司在致远汽车租赁管理方面的可以有许多改进。实际上如今信息化成为一个未来的趋势或者可以说在当前现代化的城市典范中,信息化已经成为主流,开发一个致远汽车租赁系统一方面的可能会更合乎时宜,另一方面来说也可以提高公司在致远汽车租赁管理方面的效率给相关部门人的工作带来一定的便利。


📑家具商城平台的特点

致远汽车租赁管理方面的任务繁琐,以至于公司每年都在致远汽车租赁管理这方面投入较多的精力却效果甚微,致远汽车租赁系统的目标就是为了能够缓解致远汽车租赁管理工作方面面临的压力,让致远汽车租赁管理方面的工作变得更加高效准确。

本项目在开发和设计过程中涉及到原理和技术有: B/S、java技术和MySQL数据库等等;

📑操作流程

                                                            

                                                           流程图

📚 系统架构设计

管理系统的总体架构图形如下:


📚 数据库设计

   💬 E-R表

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。

用户注册实体图如图4-2所示:

图4-2用户注册实体图

汽车租赁实体图如图4-3所示:

图4-3汽车租赁实体图

用户管理实体图如图4-4所示:

图4-4用户管理实体图

4.2.2物理模型设计

根据上诉的逻辑模型设计,下面给出物理模型的设计,如下表:

表4-1收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

收藏id

tablename

varchar

200

表名

name

varchar

200

收藏名称

picture

varchar

200

收藏图片

type

varchar

200

类型(1:收藏,21:赞,22:踩)

1

inteltype

varchar

200

推荐类型

表4-2汽车租赁

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

qichebianhao

varchar

200

汽车编号

qichepinpai

varchar

200

汽车品牌

qichexinghao

varchar

200

汽车型号

chepaihao

varchar

200

车牌号

yanse

varchar

200

颜色

qicheleixing

varchar

200

汽车类型

yajin

int

押金

rizujiage

int

日租价格

zulinshijian

datetime

租赁时间

qichezhuangtai

varchar

200

汽车状态

yonghuzhanghao

varchar

200

用户账号

xingming

varchar

200

姓名

shoujihaoma

varchar

200

手机号码

shenfenzhenghao

varchar

200

身份证号

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

表4-3汽车类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

qicheleixing

varchar

200

汽车类型

表4-4汽车归还

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

qichebianhao

varchar

200

汽车编号

qichepinpai

varchar

200

汽车品牌

qichexinghao

varchar

200

汽车型号

chepaihao

varchar

200

车牌号

yanse

varchar

200

颜色

qicheleixing

varchar

200

汽车类型

yajin

int

押金

rizujiage

int

日租价格

zulinshijian

varchar

200

租赁时间

guihaishijian

datetime

归还时间

yonghuzhanghao

varchar

200

用户账号

xingming

varchar

200

姓名

shoujihaoma

varchar

200

手机号码

shenfenzhenghao

varchar

200

身份证号

表4-5公告信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

varchar

200

图片

content

longtext

4294967295

内容

表4-6租赁订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

qichebianhao

varchar

200

汽车编号

qichepinpai

varchar

200

汽车品牌

qichexinghao

varchar

200

汽车型号

chepaihao

varchar

200

车牌号

yanse

varchar

200

颜色

qicheleixing

varchar

200

汽车类型

yajin

int

押金

zulinshijian

varchar

200

租赁时间

rizujiage

int

日租价格

guihaishijian

varchar

200

归还时间

zulintianshu

int

租赁天数

zongjine

int

总金额

yonghuzhanghao

varchar

200

用户账号

xingming

varchar

200

姓名

shoujihaoma

varchar

200

手机号码

shenfenzhenghao

varchar

200

身份证号

yewuyuanzhanghao

varchar

200

业务员账号

yewuyuanxingming

varchar

200

业务员姓名

ispay

varchar

200

是否支付

未支付

表4-7检查信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

qichebianhao

varchar

200

汽车编号

qichepinpai

varchar

200

汽车品牌

qichexinghao

varchar

200

汽车型号

chepaihao

varchar

200

车牌号

yanse

varchar

200

颜色

qicheleixing

varchar

200

汽车类型

zulinshijian

varchar

200

租赁时间

guihaishijian

varchar

200

归还时间

yonghuzhanghao

varchar

200

用户账号

xingming

varchar

200

姓名

shoujihaoma

varchar

200

手机号码

shenfenzhenghao

varchar

200

身份证号

jianchajieguo

longtext

4294967295

检查结果

cunzaiwenti

longtext

4294967295

存在问题

peifujine

int

赔付金额

jianchashijian

datetime

检查时间

yewuyuanzhanghao

varchar

200

业务员账号

yewuyuanxingming

varchar

200

业务员姓名

ispay

varchar

200

是否支付

未支付

表4-8用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

mima

varchar

200

密码

xingming

varchar

200

姓名

touxiang

varchar

200

头像

xingbie

varchar

200

性别

shoujihaoma

varchar

200

手机号码

youxiang

varchar

200

邮箱

shenfenzhenghao

varchar

200

身份证号

表4-9租赁汽车评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-10业务员

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yewuyuanzhanghao

varchar

200

业务员账号

mima

varchar

200

密码

yewuyuanxingming

varchar

200

业务员姓名

touxiang

varchar

200

头像

xingbie

varchar

200

性别

lianxidianhua

varchar

200

联系电话

shenfenzhenghao

varchar

200

身份证号

表4-11配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-12押金支付

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

qichebianhao

varchar

200

汽车编号

qichepinpai

varchar

200

汽车品牌

qichexinghao

varchar

200

汽车型号

chepaihao

varchar

200

车牌号

yanse

varchar

200

颜色

qicheleixing

varchar

200

汽车类型

yajin

int

押金

zulinshijian

varchar

200

租赁时间

yonghuzhanghao

varchar

200

用户账号

xingming

varchar

200

姓名

shoujihaoma

varchar

200

手机号码

shenfenzhenghao

varchar

200

身份证号

ispay

varchar

200

是否支付

未支付

表4-13租赁汽车

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

qichebianhao

varchar

200

汽车编号

qichepinpai

varchar

200

汽车品牌

qichexinghao

varchar

200

汽车型号

tupian

varchar

200

图片

qicheleixing

varchar

200

汽车类型

chepaihao

varchar

200

车牌号

yanse

varchar

200

颜色

yajin

int

押金

rizujiage

int

日租价格

zulinzhuangtai

varchar

200

租赁状态

qichexiangqing

longtext

4294967295

汽车详情

tichedidian

varchar

200

提车地点

表4-14用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-15token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

📚 系统功能的具体实现

系统功能模块

系统首页

致远汽车租赁系统,在系统首页可以查看首页,汽车租赁,公告信息,个人中心,后台管理等内容,并进行详细操作

/**
     * 登录
     *
     * @param username
     * @param password
     */
    @RequestMapping("/login.do")
    public void login(String username,
                      String password,
                      HttpServletRequest request,
                      HttpServletResponse response) throws IOException {
        User user = userService.checkLogin(username, password);
        if (user != null) {
            //登录成功 重定向到首页
            request.getSession().setAttribute("user", user);
            response.sendRedirect("/mall/index.html");
        } else {
            throw new LoginException("登录失败! 用户名或者密码错误");
        }

}
用户注册

在用户注册页面通过填写用户账号,密码,确认密码,姓名,手机号码,邮箱,身份证号等信息进行注册操作 

汽车租赁

在汽车租赁页面可以查看汽车型号,汽车编号,汽车类型,汽车品牌,车牌号,颜色,押金,目前价格,租赁状态,提车地点等内容

个人中心

在个人中心页面通过填写用户信息进行更新信息,还可以根据需要对我的收藏进行详细操作

管理员功能模块

管理员登录

管理员进行登录,进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作

管理员首页

管理员登录系统后,可以对首页,个人中心,用户管理,业务员管理,汽车类型管理,租赁汽车管理,汽车租赁管理,汽车归还管理,租赁订单管理,检查信息管理,系统管理等进行相应的操作管理

用户管理

用户管理,在用户管理页面可以对用户账号,姓名,头像,性别,手机号码,邮箱,身份证号等内容进行详情,修改和删除等操作

业务员管理

业务员管理,在业务员管理页面可以对索引、业务员账号,业务员姓名,头像,性别,联系电话,身份证号等内容进行详情,修改和删除等操作

汽车类型管理

汽车类型管理,在汽车类型管理页面可以对索引、汽车类型等内容进行详情,修改和删除等操作

租赁汽车管理

租赁汽车管理,在租赁汽车管理页面可以对索引、汽车编号,汽车品牌,汽车型号,图片,汽车类型,车牌号,颜色,押金,日租价格,租赁状态,提车地点等内容进行详情,修改,查看评论和删除等操作

汽车租赁管理

汽车租赁管理,在汽车租赁管理页面可以对索引、订单编号,汽车编号,汽车品牌,汽车型号,车牌号,颜色,汽车类型,押金,日租价格,租赁时间,汽车状态,用户账号,姓名,手机号码,身份证号,是否支付等内容进行详情和删除等操作

业务员功能模块

业务员登录

业务员登录进入致远汽车租赁系统可以对首页,个人中心,汽车租赁管理,汽车归还管理,租赁订单管理,检查信息管理等进行相应操作

汽车归还管理

汽车归还管理,在汽车归还页面通过填写索引,订单编号,汽车编号,汽车品牌,汽车型号,车牌号,颜色,汽车类型,押金,日租价格,租赁时间,归还时间,用户账号,姓名,手机号码,身份证号等内容进行详情,租赁订单,检查信息等操作

用户功能模块 

用户登录

用户登录进入致远汽车租赁系统可以对首页,个人中心,汽车租赁管理,汽车归还管理,租赁订单管理,检查信息管理,我的收藏管理等进行相应操作

个人中心

个人中心,在个人信息页面通过填写用户账号,姓名,头像,性别,手机号码,邮箱,身份证号等内容对个人信息进行修改操作

检查信息管理

检查信息管理,在检查信息页面通过填写索引,订单编号,汽车编号,汽车品牌,汽车型号,车牌号,颜色,汽车类型,租赁时间,归还时间,用户编号,姓名,手机号码,身份照,赔付金额,检查时间,业务员账号,业务员姓名,是否支付等内容进行详情操作

我的收藏管理

我的收藏管理,在我的收藏管理页面可以对索引、收藏名称、收藏图片等内容进行详情和删除等操作

✒️ 源码实现

部分功能

package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}
springboot全局配置文件 
# \u8BBF\u95EE\u8DEF\u5F84\uFF0C\u7AEF\u53E3\u914D\u7F6E
server.context-path=/mall
server.port=8081

# \u6587\u4EF6\u4E0A\u4F20\u914D\u7F6E
spring.http.multipart.enabled=true
spring.http.multipart.max-file-size=100MB
spring.http.multipart.max-request-size=100MB


logging.level.priv.jesse.mall=DEBUG

# \u914D\u7F6E\u8F6Cjson\u7684\u65F6\u95F4\u683C\u5F0F
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

# jdbc\u8FDE\u63A5\u914D\u7F6E
# mysql
#spring.datasource.url=jdbc:mysql://active.iceslurry.xyz/mall?useSSL=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
#spring.datasource.username=root
#spring.datasource.password=123456
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#H2
spring.datasource.url=jdbc:mysql://localhost:3307/mall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=crit@2019
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.h2.console.settings.web-allow-others=false
#spring.h2.console.path=/h2-console

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#thymeleaf \u6A21\u677F\u5F15\u64CE\u8BBE\u7F6E
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
##\u5F00\u53D1\u65F6\u5173\u95ED\u7F13\u5B58,\u4E0D\u7136\u6CA1\u6CD5\u770B\u5230\u5B9E\u65F6\u9875\u9762
spring.thymeleaf.cache=false

##################### jpa hibernate \u914D\u7F6E #########################
spring.jpa.show-sql=false
spring.jpa.database=mysql
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.generate-ddl=true
# \u6700\u5E38\u7528\u7684\u5C5E\u6027\uFF0C\u7B2C\u4E00\u6B21\u52A0\u8F7Dhibernate\u65F6\u6839\u636Emodel\u7C7B\u4F1A\u81EA\u52A8\u5EFA\u7ACB\u8D77\u8868\u7684\u7ED3\u6784\uFF08\u524D\u63D0\u662F\u5148\u5EFA\u7ACB\u597D\u6570\u636E\u5E93\uFF09\uFF0C
# \u4EE5\u540E\u52A0\u8F7Dhibernate\u65F6\u6839\u636Emodel\u7C7B\u81EA\u52A8\u66F4\u65B0\u8868\u7ED3\u6784\uFF0C\u5373\u4F7F\u8868\u7ED3\u6784\u6539\u53D8\u4E86\u4F46\u8868\u4E2D\u7684\u884C\u4ECD\u7136\u5B58\u5728\u4E0D\u4F1A\u5220\u9664\u4EE5\u524D\u7684\u884C\u3002
# \u8981\u6CE8\u610F\u7684\u662F\u5F53\u90E8\u7F72\u5230\u670D\u52A1\u5668\u540E\uFF0C\u8868\u7ED3\u6784\u662F\u4E0D\u4F1A\u88AB\u9A6C\u4E0A\u5EFA\u7ACB\u8D77\u6765\u7684\uFF0C\u662F\u8981\u7B49\u5E94\u7528\u7B2C\u4E00\u6B21\u8FD0\u884C\u8D77\u6765\u540E\u624D\u4F1A\u3002
spring.jpa.hibernate.ddl-auto=update
##################################################################



##################druid\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u914D\u7F6E############################
#\u914D\u7F6E\u521D\u59CB\u5316\u5927\u5C0F\uFF0C\u6700\u5C0F\uFF0C\u6700\u5927
spring.datasource.druid.initial-size=1
spring.datasource.druid.max-active=20
spring.datasource.druid.min-idle=1
#\u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4
spring.datasource.druid.max-wait=60000
#\u914D\u7F6E\u95F4\u9694\u591A\u4E45\u624D\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B\uFF0C\u68C0\u6D4B\u9700\u8981\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.druid.time-between-eviction-runs-millis=60000
#\u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5C0F\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.validation-query=SELECT 'x'
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
spring.datasource.druid.test-while-idle=true
#\u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5\u4E0APSCache\u7684\u5927\u5C0F
#\u5982\u679C\u7528Oracle\uFF0C\u5219\u628ApoolPreparedStatements\u914D\u7F6E\u4E3Atrue\uFF0Cmysql\u53EF\u4EE5\u914D\u7F6E\u4E3Afalse\u3002\u5206\u5E93\u5206\u8868\u8F83\u591A\u7684\u6570\u636E\u5E93\uFF0C\u5EFA\u8BAE\u914D\u7F6E\u4E3Afalse\u3002
spring.datasource.druid.pool-prepared-statements=false
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
#druid\u76D1\u63A7\u914D\u7F6E
spring.datasource.druid.filters=stat,slf4j
# WebStatFilter\u914D\u7F6E\uFF0C\u8BF4\u660E\u8BF7\u53C2\u8003Druid Wiki\uFF0C\u914D\u7F6E_\u914D\u7F6EWebStatFilter
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
# StatViewServlet\u914D\u7F6E\uFF0C\u8BF4\u660E\u8BF7\u53C2\u8003Druid Wiki\uFF0C\u914D\u7F6E_StatViewServlet\u914D\u7F6E
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.reset-enable=true
spring.datasource.druid.stat-view-servlet.login-username=druid
spring.datasource.druid.stat-view-servlet.login-password=123456
# Spring\u76D1\u63A7\u914D\u7F6E\uFF0C\u8BF4\u660E\u8BF7\u53C2\u8003Druid Github Wiki\uFF0C\u914D\u7F6E_Druid\u548CSpring\u5173\u8054\u76D1\u63A7\u914D\u7F6E
spring.datasource.druid.aop-patterns=priv.jesse.mall.service.impl.*
# druid\u65E5\u5FD7\u8F93\u51FA
spring.datasource.druid.filter.slf4j.enabled=true
spring.datasource.druid.filter.slf4j.result-set-log-enabled=false
spring.datasource.druid.filter.slf4j.statement-create-after-log-enabled=false
spring.datasource.druid.filter.slf4j.statement-close-after-log-enabled=false
spring.datasource.druid.filter.slf4j.result-set-open-after-log-enabled=false
spring.datasource.druid.filter.slf4j.result-set-close-after-log-enabled=false
##################druid\u8FDE\u63A5\u6C60\u914D\u7F6E\u7ED3\u675F############################

💖 源码获取

点赞、收藏、关注!!!

非无偿源码!获取源码请添加up主!!

😁 联系方式

文章最底下有微信联系方式!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2055932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据仓库实战:详解维度建模事实表

每个数据仓库都包含一个或者多个事实数据表。其中可能包含业务销售数据&#xff0c;如现金登记事务所产生的数据&#xff0c;通常包含大量的行。事实数据表的主要特点是包含数字数据&#xff08;事实&#xff09;&#xff0c;并且这些数字信息可以汇总&#xff0c;以提供有关单…

Lumos学习王佩丰Excel第十三讲:邮件合并

一、简单的邮件合并 1、批量生成多个文档 预览效果&#xff1a; 批量生成多个文档&#xff1a; 2、利用word发送邮件 &#xff08;1&#xff09;选择收件人并编写邮件内容 &#xff08;2&#xff09;发送邮件 3、每页显示多条记录 将表格形式的选择题转换成word格式。 效果展…

公司内网监控软件是什么?有哪些好用的推荐?精准安排!

企业内网作为公司运营和管理的核心载体&#xff0c;其安全性与效率性直接关系到企业的生死存亡。 如何精准地掌握内网动态&#xff0c;确保信息安全&#xff0c;提升工作效率&#xff1f; 公司内网监控软件&#xff0c;正是这一需求的产物&#xff0c;它如同一位无形的守护者&…

HiPER Calc Pro-高效、强大的数学计算工具

在数字化时代&#xff0c;无论是学生、教师还是科研工作者&#xff0c;准确高效的数学计算都是不可或缺的一环。HiPER Calc Pro&#xff08;原名HiPER Scientific Calculator高级版&#xff09;是一款收费的方程式图形计算器应用&#xff0c;它以无广告、多功能的特性&#xff…

第六版页面

基本 明确定义 站点网关mqtt服务器 多个柜子使用的是主从模式 下发一个设备组其他的柜子跟着设置 具体的让后端进行详细管理 前端规范 字体规范 弹出框定义什么应该弹出什么不应该弹出 页面 主页 屏幕宽度有的没设置好 平面地图模式有的没重合好 日志改为告警在上面 日志…

使用 Python 爬虫进行网站流量分析:Referer 头的利用

在互联网时代&#xff0c;网站流量分析是了解用户行为、优化网站结构和提升用户体验的重要手段。本文将介绍如何使用 Python 爬虫技术结合 HTTP Referer 头进行网站流量分析&#xff0c;以及如何实现这一过程。 什么是 HTTP Referer 头&#xff1f; HTTP Referer 头是一个请求…

ubuntu 22.04下载安装及相关配置

一、ubuntu 22.04下载 1.1、官网下载 Get Ubuntu | Download | Ubuntu 官网下载速度比较慢&#xff0c;不是很推荐。 1.2、清华镜像网站下载 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 该方式下载很快&#xff0c;推荐使用。下载方式如下&#xff1a; 1.2.…

WEB渗透免杀篇-Golang免杀

往期文章 WEB渗透免杀篇-加载器免杀-CSDN博客 WEB渗透免杀篇-分块免杀-CSDN博客 WEB渗透免杀篇-Powershell免杀-CSDN博客 WEB渗透免杀篇-Python源码免杀-CSDN博客 WEB渗透免杀篇-C#源码免杀-CSDN博客 WEB渗透免杀篇-MSFshellcode免杀-CSDN博客 WEB渗透免杀篇-Bypass-AMSI-…

协同过滤图书推荐管理系统图书购物网站设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图详细视频演示技术栈系统测试为什么选择我官方认证玩家&#xff0c;服务很多代码文档&#xff0c;百分百好评&#xff0c;战绩可查&#xff01;&#xff01;入职于互联网大厂&#xff0c;可以交流&#xff0c;共同进步。有保障的售后 代码参考数据库参…

vcruntime140.dll找不到咋办?vcruntime140.dll文件缺失详细解决方案

在运行基于Visual C的软件时&#xff0c;用户常常遭遇“vcruntime140.dll文件缺失”的提示。这个问题主要是因为系统中缺乏必须的Visual C运行库文件。如果你正面临这一问题&#xff0c;本文将提供几种简洁有效的解决方案&#xff0c;确保你的应用程序能够顺利运行。这些方法简…

基于Java+SpringBoot+Vue的IT技术交流和分享平台

基于JavaSpringBootVue的IT技术交流和分享平台 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f3…

Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换

技术背景 我们在做Android端同屏的时候&#xff0c;开发者希望可以高版本的Android系统上&#xff0c;在设备支持的前提下&#xff0c;可以采集到扬声器输出的audio&#xff0c;并支持和麦克风采集的audio相互切换&#xff0c;实现无纸化|智慧教室同屏不同audio模式的输出。An…

Scrapy框架妙用:如何添加代理IP让数据采集更顺畅

什么是Scrapy框架&#xff1f; Scrapy框架是Python编写的一个强大、快速的网络爬虫和网页抓取框架。它能帮助开发者轻松地从网站上提取数据&#xff0c;并进行数据处理和存储。Scrapy的设计灵活且功能强大&#xff0c;适用于各种数据采集任务。 为何需要在Scrapy中添加代理IP…

【fastapi框架:jinja2模板、ORM操作、中间件与CORS】

## 五、jinja2模板要了解jinja2&#xff0c;那么需要先理解模板的概念。模板在Python的web开发中⼴泛使⽤&#xff0c;它能够有效的将业务逻辑和页⾯逻辑分开&#xff0c;使代码可读性增强、并且更加容易理解和维护。 模板简单来说就是⼀个其中包涵占位变量表⽰动态的部分的⽂件…

百元蓝牙耳机哪个品牌性价比最高?四大高质量耳机爆肝推荐

蓝牙耳机的日常使用非常简便&#xff0c;而且充电也方便。但如今市场中的蓝牙耳机有的质量与价格不匹配&#xff0c;耳机的使用体验不佳&#xff0c;那百元蓝牙耳机哪个品牌性价比最高&#xff1f;关于这一点&#xff0c;作为资深的蓝牙耳机测评师&#xff0c;下面就给大家带来…

2024年下半年软考备考建议

备考建议 第一轮(建议5-10天) 1、了解考试的基本情况&#xff0c;确定是自学还是报班&#xff0c;准备好备考工具; 2、过一下官方教材蓝皮书&#xff0c;借助思维导图对考试科目知识体系结构有大致了解。 第二轮(建议60-80天) 1、按照学习打卡表&#xff0c;一步步学习科目的考…

金贝E-KA1M 5.5T卓越性能,引领行业新高度

金贝 E-KA1M 5.5t 主要适用于家庭、书房、办公室等对噪音有一定要求的环境。它在运行时噪音极低&#xff0c;不会打扰您的日常生活&#xff0c;无论是放在家中还是办公场所&#xff0c;都能悄然为您创造财富。 金贝 E-KA1M 5.5t是一款具有较强算力的静音挖kuang机&#xff0c;其…

Awesome-Chinese-LLM:收集和梳理中文LLM相关的开源模型、应用、数据集及教程等资料

自ChatGPT为代表的大语言模型&#xff08;Large Language Model, LLM&#xff09;出现以后&#xff0c;由于其惊人的类通用人工智能&#xff08;AGI&#xff09;的能力&#xff0c;掀起了新一轮自然语言处理领域的研究和应用的浪潮。尤其是以ChatGLM、LLaMA等平民玩家都能跑起来…

《图解设计模式》笔记(三)生成实例

五、Singleton模式&#xff1a;只有一个实例 Singleton 是指只含有一个元素的集合。因为本模式只能生成一个实例&#xff0c;因此以 Singleton命名。 示例程序类图 Singleton.java public class Singleton {private static Singleton singleton new Singleton();private Si…

达林顿管阵列ULN2003的用途就是非门(输入和输出的关系)

对于UL2003来说&#xff0c;可以看作是非门。 输入为1&#xff0c;输出为0&#xff1b; 输入为0&#xff0c;输出为高组态[接一个上拉电阻即为1] 下面的可以不用看了&#xff0c;如果你想了解深入一点&#xff0c;可以往下看看。 ULN2003A就是个达林顿管&#xff0c; 一&am…