员工管理系统(Employees Manager System)
项目参考资料:
https://www.bilibili.com/video/BV1C7411273F?p=2
个人项目地址:
https://github.com/KYO9700/ems
目录
1 运行环境及基本使用
1.1 IDEA
安装
https://www.bilibili.com/video/BV1ki4y1K7vz
使用
https://www.bilibili.com/video/BV1PW411X75p?p=5&spm_id_from=pageDriver
1.2 MySQL安装与使用
移步:
https://blog.csdn.net/weixin_38863108/article/details/116047240
1.3 Maven安装与使用
Maven安装与使用,及IDEA集成Maven环境
移步:
https://blog.csdn.net/weixin_38863108/article/details/115704197
参考:
https://www.bilibili.com/video/BV1Fz4y167p5?p=4
2 项目初始化
2.1 spring boot项目快速构建
新建项目,选择spring initializr
填写项目相关信息。填写公司名称,报名,项目名,项目描述。项目名字是ems,使用thymeleaf模板,持久层使用mybatis框架,运行环境是spring boot。
在图形化界面添加项目依赖,通过图形界面添加lombok,spring web,thymeleaf,MySQL Driver
生成的项目目录结构如下。
.gitignore是用来进行版本控制的文件,留着即可。
HELP.md用来对版本进行描述。
mvnw与mvnw.cmd是linux下与windows下的运行脚本。
HELP.md mvnw mvnw.cmd使用不到都可以删除,没有影响。
项目中自动生成了入口类EmsThymeleafApplication
从pom.xml中可以看到使用的spring boot版本,这里是2.4.5
从pom.xml中可以看到使用的依赖包括thymeleaf,spring-boot-starter-web,mysql-connector-java,lombok,spring-boot-starter-test
在pom.xml中指定mysql版本
pom.xml中添加mybatis依赖
pom.xml中添加druid依赖
错误笔记:
在配置阿里巴巴 的Druid数据源时,编译时遇到以下错误:
错误信息:
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'spring.datasource.type' to java.lang.Class<javax.sql.DataSource>:
Property: spring.datasource.type
Value: com.alibaba.druid.pool.DruidDataSource;
Origin: class path resource [application.properties] - 4:24
Reason: No converter found capable of converting from type [java.lang.String] to type [java.lang.Class<javax.sql.DataSource>]
解决方案:
在pom 中去掉不合时宜的分号,即可成功编译,成功运行
2.2 集成mybatis环境
写springboot配置文件,applications.properties。
参考资料:
https://blog.csdn.net/updateallthetime/article/details/82255641
https://blog.csdn.net/lpfsuperman/article/details/78287265
在入口类添加MapperScan注解,扫描所有dao接口。
MapperScan注解的使用,参考:
https://blog.csdn.net/manchengpiaoxue/article/details/84937257
2.3 构建目录
3 项目库表设计和项目环境准备
3.1 项目库表设计
创建数据库,创建用户表和员工表
USE ems_thymeleaf;
CREATE TABLE t_user(
id VARCHAR(40) PRIMARY KEY,
username VARCHAR(40),
realname VARCHAR(40),
PASSWORD VARCHAR(40),
sex VARCHAR(8)
);
CREATE TABLE t_emp(
id VARCHAR(40) PRIMARY KEY,
NAME VARCHAR(60),
salary DOUBLE(7,2),
age INT(3),
bir DATE
);
3.2 项目环境准备
3.2.1 将页面引入项目
在templates中添加一个文件夹ems
向ems文件夹中添加页面的静态模板
选中复制
粘贴到ems文件夹
将资源导入项目
引入页面之后,尝试运行,在浏览器键入地址进行访问,页面成功加载,但没有样式设计
3.2.2 引入页面样式
3.2.1节中页面成功加载,但样式丢失了,原因是.html文件中引用html资源及css资源的格式没有按照thymeleaf的引用格式来写。需要按thymeleaf的引用格式来改写.html文件中的资源引用,使样式生效。
例如,login.html文件修改前:
login.html文件修改后:
运行,测试结果如下,样式仍未被加载:
右击查看网页源代码,可以看到按thymeleaf格式引用css资源的语句没有被解析:
原因:thymeleaf必须配合后端控制器,其语法才能生效。
可以写一个后端控制器,在后端控制器中将域名中的访问地址映射到资源正确的地址: