项目结构
pom文件
配置相关依赖:
2.thymeleaf有点类似于jstl+el
th:href="@{url}表示这是一个链接
th:each="user : ${users}"相当于foreach,对user进行循环遍历
th:if进行if条件判断
{变量} 与 ${变量}的区别:
4.配置好application.yml配置文件
5.DAO层
6.实体类
@GeneratedValue(strategy = GenerationType.IDENTITY) 中的strategy = GenerationType.IDENTITY使用场景补充说明:
前端页面中只有三个username,password,age三个数据,我们设置strategy = GenerationType.IDENTITY以后只需要传入这三个属性我们就把他当作是一个User对象来看
.UserService和它的实现类
总结
这个最重要了,写博客的初衷也是梳理一些做本次项目的流程思路,因为在写的时候并没有这么顺畅,从昨天晚上有了想法开始做了一点后今天除了去上课其他时间都在做,每一步都失败了很多很多次,在把这个大致流程和内容写完后,我也发现了一个问题:
最后的数据库的id为什么把我之前删掉的数据id都跳过了!!!!是从7开始的,我都没有注意到这点。明天早上处理!
本次项目踩得坑:
1.昨天数据库怎么都连接不上,改了很多地方都不行,一直显示连接失败,含恨睡觉,早上又折腾了很久,终于发现,是配置文件yml放错了位置!放到了templates文件中了!!再也不会犯这个错误了。
2.在添加联系人时候一开始要么说不能进行POST请求或者说GET请求,因为我在一开始映射那里使用的是@PostMapping/@GetMapping。后来改成了@RequestMapping,OK解决了问题~下次记得直接就用@RequestMapping注解好了!
3.在更新sql语句那里一开始是选定条件where id,可是在后来的操作类中就没用到这个条件,导致在我修改成功的时候发现把所有的信息都修改了…于是我用name属性作为选定条件了,解决了这个问题。
4.在删除sql语句传入的参数是id,我在controller层里写的发现根本就没有用到id这个条件,当然结果也是点击删除按钮直接重定向到了list页面,并没有做删除操作。经过一番百度,我在controller里传入了id参数解决了这个问题(嗯嗯这一点是很基础的传入参数我都没有考虑到,以后一定会多考虑这点,以及继续多刷Java基础题。
本次项目还需要强化的地方
1.再多熟悉thymeleaf的属性,有些还需要百度,需要在实战中多多使用多多记住用过的。
2.参数传入传出一定不能忘记了。
3.crud的操作还需要多加熟悉和使用,明天会再过一遍的。
emmm还有很多想到在写(看别人的博客都很专业严谨,不知道我这样写的像流水账合适不合适…
本次项目继续要修复的问题或添加的功能
1.数据库删除了一条数据后id应该也相应抹除掉,插入的下一条数据不能跳过上条删掉的数据。
2完成login页面的编写,要先登录后才可以查看crud这个数据库。添加学习过得cache啦还有记住我功能,等等等想到再加上,反正要把这个登录页面后面的功能写的丰富一些,尽可能的多用到我学习到的知识点。明天开始丰富login页面做完之后再写接下来要添加的功能