源码:https://github.com/Morty123456/SpringBoot-Mysql.git
参考教程:https://www.bilibili.com/video/av20965295
1:配置pom文件
需要导入的依赖包括:
thymleaf web jquery-webjar Druid mybatis
log4j(不导入,druid会报错)
2:配置yml
主要包括
- 国际化配置(登录界面中英文切换)
- 模板引擎的缓存设置
- 日期格式设置
- 数据库连接信息设置
- mybatis设置信息
- mybatis设置可以把所有的查询语句放在resource文件夹下
3:静态文件
- 主要包括css、js、和html
- 使用thymleaf模板引擎
- 主要是使用了
th
来进行赋值、判断、循环等
- 主要是使用了
4:构造实体类(entities)
- 按照数据库设计,构键
employee
,department
,user
三个实体类 Alt+Insert
快捷键构造get,set,toString
方法
5:构造mapper类
- mapper用来操作数据库,所有的mapper类都要有@Mapper注解,或者在main函数处添加 @MapperScan注解,参数写mapper文件夹的路径,这样做是配置扫描所有的此路径下的mapper
- 详细代码见源文件
6:构建controller
- 类文件前面要有
@Controller
注解 - 用到的
Mapper
需要有@Autowired
注解,@Autowired
是用在JavaBean中
的注解,通过byType
形式,用来给指定的字段或方法注入所需的外部资源,能减少或者消除属性或构造器参数的设置 - 进行业务层的操作
- 通过
model
传值到页面//查询所有员工 @GetMapping("/emps") public String list(Model model){ Collection<Employee> employees = employeeMapper.getAllEmployee(); model.addAttribute("emps", employees); return "emp/list"; }
- 在
html
获取值
<tbody> <tr th:each="emp:${emps}"> <td th:text="${emp.id}">1</td> <td th:text="${emp.lastName}">1</td> <td th:text="${emp.email}">1</td> <td th:text="${emp.gender}">1</td> <td th:text="${emp.department}">1</td> <td th:text="${#dates.format(emp.birth,'yyyy-MM-dd HH:mm:ss')}">1</td> </tr> </tbody>
- 通过
- controller的路由地址和thymleaf中的匹配,就可以跳转。用
@PathVariable
蝴蝶请求中的参数@DeleteMapping("/emp/{id}") public String deleteEmployee(@PathVariable("id") Integer id){ employeeMapper.deleteEmployee(id); return "redirect:/emps"; }
遇到的问题
删除员工时报错
Request method 'POST' not supported
为啥咱也有点不知道,好像是版本问题
修改pom
的<modelVersion>4.0.0</modelVersion>
版本号为2.0.0
,我的之前是4.0.0